9Creating Product Offers

About Product Offers

A product offer is an offer to sell a product that allows a customer to respond with a single click. For example, you can add product offers to a Web site and display them in an area with the label Hot Offers. One hot offer might say: Do you want to upgrade to our extra value plan: 1,000 long distance minutes for $33.85 a month? This hot offer might have three buttons for the customer to click: Yes, No, and More Information. It is displayed only to customers who already have the standard plan for long-distance minutes. If the customer clicks Yes, then the order is placed automatically. If the customer clicks More Information, then an activity is created and assigned to a customer service representative, who contacts the customer.

To support one-click ordering, product offers have the following features:

  • They enable you to define the possible user responses for a given offer.

  • They enable you to specify ordering tasks that the Siebel application performs, such as:

    • Adding or deleting asset components, for example, changing a rate plan

    • Updating asset attributes, for example, changing bandwidth

    • Upgrading a promotion, for example, upgrading from the promotion named double play to the promotion named triple play

    • Editing or applying a promotion, for example, changing handset

    • Updating line item fields, for example, changing the value of a manual discount

  • They enable you to specify preordering tasks and postordering tasks that the Siebel application performs, such as address validation and order validation.

    Product Offers on Low-Interactivity Channels

    Product offers are particularly useful for channels that are unassisted or have limited user interactivity, such as short messaging service (SMS), Interactive Voice Response (IVR), and the hot offers bin on a Web site. When the user accepts the order, some exceptions might occur. You must configure exception handling, which is typically channel-specific:

    • Web. For this channel, display the exception on the Web site.

    • SMS. For this channel, create an activity and assign it to a customer service representative.

    • IVR. For this channel, route the exception to a customer service representative.

    Because product offers are also available in the Siebel application, they provide customers with a consistent experience on all sales channels. For example, a customer might view the offer on the Web and phone the call center. Then the customer service representative at the call center can view the same product offer in the Siebel application and accept the offer on behalf of the customer. For more information on how customer service representatives can access product offers, see Viewing Product Offers for an Account.

      Product Offers and Promotions

      Both product offers and Siebel promotions give customers the opportunity to buy products or bundles of products at a promotional price. The main differences are:

      • Siebel promotions enable customers to buy a single product or a group of products and services at a promotional price. Each product or service within a promotion can have its own configurable options, contractual commitments, and early termination fees.

      • Siebel product offers enable customers to buy products or services (including Siebel promotions) through nonassisted channels with limited, user interactivity. Product offers enable one-click ordering. Permitted user responses are clearly defined, as are the actions that the Siebel application performs for each user response. Customers are typically prequalified for product offers.

      Upgrading a promotion often requires user interactivity to resolve product selections. Users typically must select the products or services that they want to upgrade or disconnect. Product offers do not support this level of user interactivity, but they can be used to give customers a quick start for creating orders when they are upgrading promotions.

        About Versions of Product Offers

        Product offer versions work differently from product versions. Product offer versions affect only the Start Date, End Date, and Active fields of the product. Every other aspect of a product offer is uniform for all active versions of the product offer. The user must refresh the cache after making any changes to the product offer definition, using the Clear Cache or Refresh Cache menu option.

        These menu options are available for all the views that show versioned objects in the Administration - Product Offer screen: Versions view, Response-Actions view, Recommendations view, Compatibility view, Eligibility view, and Product Line Compatibility view.

        If you choose the Clear Cache option, then the application refreshes the cache for all the child objects of the product offer, such as recommendations, compatibility rules, eligibility rules, and so on. The application calls the RefreshBC method of the Row Set Transformation Toolkit.

        About Actions for Responses to Product Offers

        When you define user responses to product offers, you can also define actions for each response.

        The actions create sales orders or quotes, which can be used to:

        • Create a new asset.

        • Modify an existing asset by doing one of the following:

          • Add, replace, or delete products and services for an asset

          • Update asset line item fields

          • Upgrade products and services for an asset

          • Edit or apply a promotion to products and services in the asset

        You can also perform other actions by invoking a Siebel workflow process.

        Note: Actions that invoke workflows can be used for preorder tasks and postorder tasks, but they cannot be interspersed among actions that create orders. If an action invokes a workflow process, then create the workflow before you define responses. For more information about creating workflows, see Siebel Business Process Framework: Workflow Guide.

        You generally create actions that map to common order processes such as:

        • Modify order. Creates actions modifying an order, adding or deleting products, and providing manual discounts

        • Apply promotion. Creates actions that include bundled products with promotional pricing

        For example, you have a product offer for customers who have pay-as-you-go text messaging that says: Get unlimited text messaging for $10 per month. For the response Accept, you create the following actions:

        • To specify the product, create actions that modify the asset Mobile Service so that it has the component product Unlimited Text Messaging.

        • To specify the pricing, create an action that updates the Discount Amount field of the component product Unlimited Text Messaging, so it has the value of 10.

        This is one example of how product and pricing can be specified using the actions of product offers. Different product offers are specified in different ways.

        The Product Administrator has the flexibility to set up offers that validate the customer's assets prior to applying the actions:

        • Actions to add a product that the customer already owns can be skipped.

        • Actions to remove a product that the customer does not own can be skipped.

        The same product can be added and removed within a single offer. For example, an offer named Replace SIM could create an order that removes the customer’s old SIM card and adds a new SIM card.

        Some responses do not require actions. For example, if the user rejects the offer, then an action is not required usually. In that case, you do not have to define the actions for the Reject response.

        You specify an action by selecting in both the Action Type field and the Action Code field. The selection in the Action Type field limits the available selections in the Action Code field. Depending on your selections in these two fields, you might have to specify a value in another field. For example:

        • If you select Modify as the Action Type and Update as the Action Code, then you must also make entries in the Field Name and Field Value fields. The action updates that field with that field value.

        • If you select Run Process as the Action and Workflow as the Action Code, then you must also select a workflow in the Service Name field. The action runs that workflow.

        The following table shows the actions that can be performed by product offers, with the Action Type and Action Code of each. This table includes actions that you specify in the Action record, with no user input. You can also use named parameters to base some of these values on user input, rather than specifying them explicitly in the Action record. For more information, see Product Offers with Named Parameters.

        Table Actions Performed by Product Offers

        Action Type Action Code Description

        New

        Add

        Generates an order or quote to create a new asset.

        Specify the product by selecting it in the Base Product field.

        Update

        Modify a field or attribute value of a new asset. To do this requires two actions:

        • An action with the action type New and the action code Add to add the new asset

        • An action with the action type New and the action code Update to modify the new asset

        Modify

        Add

        Modifies an existing asset by adding a product or service.

        Specify the product by selecting it in the Base Product field, and specify the product or service you are adding to it by selecting it in the Component Product field.

        Update

        Modifies an existing asset by updating a product or service.

        Specify the product by selecting it in the Base Product field. Specify the product or service you are updating by selecting it in the Component Product field. Specify how the product or service is being updated by entering values in the Field Name and Field Value fields, or in the Attribute Name and Attribute Value fields

        Delete

        Modifies an existing asset by deleting a product or service.

        Specify the product by selecting it in the Base Product field. Specify the product or service you are deleting by selecting it in the Component Product field.

        Replace

        Modifies an existing asset by replacing a product or service that is an existing component with a new component under the same relationship.

        Specify the product by selecting it in the Base Product field. Specify the product or service with which you are replacing an existing component of the asset by selecting it in the Component Product field.

        The replace action deletes the item that was previously selected and adds the item that was specified in the actions. If there is no existing component, then it simply adds the new item.

        Note: The Replace action applies to relationships with a maximum cardinality of 1. If more than one item is selected in the asset, then the replace action randomly deletes one of the selected items.

        Upgrade

        Upgrade

        Upgrades products and services for an existing asset.

        Specify the Upgrade From product in the Base Product field, and specify the Upgrade To product in the Upgrade Product field.

        Run Process

        Workflow

        Runs a workflow.

        Select the workflow in the Workflow Name field.

        Process of Creating Product Offers

        In addition to the tasks for defining product offers in this process, you must create the Web site and possibly other channels that present the offer to customers, and you must integrate them with the Siebel application.

        To define a product offer, perform the following tasks:

          Creating Product Offers

          The first step in defining a product offer is to create a Product Offer record, which includes general information about the product offer. The view tabs under the Product Offer record hold the detailed definition of the product offer.

          This task is a step in Process of Creating Product Offers.

          To create a product offer

          1. Navigate to the Administration - Product screen, then Product Offers view.

          2. Add a new record to the Product Offers list, and complete the necessary fields in the new record and in the More Info form. Some fields are described in the following table.

            Field Comments

            Name

            Enter a name for the product offer.

            Product Offer ID

            This field displays a unique ID for the product offer. Siebel CRM generates the ID.

            Organization

            Select one or more organizations to enable users to see this product offer. Users who are not in these organizations cannot see this product offer in the Siebel application.

            Description

            Enter a description of the product offer.

            Effective Dates

            This field displays the start date and end date of the period when this product offer is effective. Users can enter or edit these dates in the Versions view.

            Message Type

            The default value for the Unified Message Framework (UMF) message type is Product Offer Recommendation. This message type is part of the seed data and contains the responses Accept and Reject.

            If you want to create new responses, such as Enroll and Decline, then you must create a new message type, such as Loyalty Recommendation, using the Unified Message Framework, and associate it with the Product Offer Message Group. For more information about the Unified Messaging Framework, see Siebel Order Management Infrastructure Guide.

            Message

            Enter a message for the product offer.

            Thumbnail

            Select the small thumbnail version of the image associated with the product offer.

            Image

            Select a larger version of the image associated with the product offer.

            Check Eligibility

            Select this check box to make the Siebel application check customers' eligibility to get this product offer.

            If you select this check box, then you can define rules in the Eligibility and Compatibility Rules view for the product offer.

            Inclusive Eligibility

            Select this check box to specify inclusive eligibility. If this check box is not selected, then the Siebel application uses exclusive eligibility.

            With exclusive eligibility, customers are eligible to buy the product if they are not excluded by the eligibility or compatibility rule. With inclusive eligibility, customers are eligible to buy the product only if they are explicitly included by the eligibility rule.

          3. From the More Info menu, select Clear Cache.

            For more information about refreshing the cache, see About Versions of Product Offers.

            Creating Responses for Product Offers

            Because product offers accept a one-click response, you must specify the different responses offered to the user. Examples of responses are:

            • For the offer, Get 500 points when you enroll in online billing, the responses might be Enroll and Decline.

            • For the offer, Upgrade your handset to Daytech 500, the responses might be Accept, Decline and Learn More.

            If you keep the default value (Product Offer Recommendation) in the Message Type field of the Product Offer record, then the default responses, Accept and Reject, are displayed in the Responses list. You do not have to change them.

            This task is a step in Process of Creating Product Offers.

            To create responses to product offers

            1. Navigate to the Administration - Product screen, then Product Offers view.

            2. Select the Product Offer that you want.

            3. Click the Responses view tab.

            4. Add a new record to the Responses list for each response that will be displayed to the user, and complete the necessary fields. Some fields are described in the following table.

              Field Comments

              Sequence

              Enter the order in which the responses are displayed to users.

              Response

              Select the response. The options can be the following:

              • The default values: Accept and Reject.

              • The messages that you created in the Unified Messaging Framework and associated with the Message Type of this product offer in Creating Product Offers.

              Comments

              Enter comments for your own use.

              Inactive

              Select this check box to make this response inactive, so it is not displayed as a possible response for the product offer. To use this field, you must select Columns Displayed from the menu.

              Creating Actions for Responses to Product Offers

              For each response that you created, you can define one or more actions that the Siebel application performs if the user selects that response. For more information about actions, see About Actions for Responses to Product Offers.

              In most cases, you define the action using only fields in the Action record, but there are two cases where you can define more complex actions:

              This task is a step in Process of Creating Product Offers.

              To create actions for a response to a product offer

              1. Navigate to the Administration - Product screen, then Product Offers view.

              2. Select the Product Offer that you want.

              3. Click the Responses view tab.

              4. Select the response that you want.

              5. Add one or more new records to the Responses - Actions list, and complete the necessary fields. Some fields are described in the following table.

                Field Comments

                Sequence

                Displays the order in which the actions are executed. The sequence number is generated automatically, and you cannot change it.

                Note: The sequence number is important when there is more than one action for the same product. For example, because a product must exist before you can change its attributes, the sequence number for an action that adds a product must be lower than the sequence number for an action that updates an attribute for that product.

                Action Name

                When you step off the action record, the Action Name field is automatically populated with a unique number. You can change it to give it a meaningful name that helps you to identify the action.

                Action Type

                Select the type of action. The options are as follows:

                • New. Select this value to create a new sales order (if the customer is residential) or quote (if the customer is not residential).

                • Modify. Select this value to modify an existing asset by adding, updating or deleting products and services.

                • Upgrade. Select this value to upgrade products and services for an asset. Also, select this value to upgrade an existing asset.

                • RunProcess. Select this value to run preorder or postorder tasks by invoking a workflow.

                Action Code

                Select an action code to specify the action. The options are limited depending on your selection in the Action field. The options include:

                • Add. Select this code to add new products and services for an asset.

                • Update. Select this code to modify products and services for an asset.

                • Replace. Select this code to delete the currently selected item and add the new product for a specific product path.
                  Note: The Replace action code applies to product paths that have a maximum cardinality of 1. You cannot have more than one product selected in the product path.
                • Delete. Select this code to delete obsolete products and services for an asset.

                • Upgrade. Select this code to upgrade products and services for an asset.

                • Workflow. Select this code to invoke a workflow.

                Base Product

                Select a base product.

                Component Product

                You can enter a component in the Component Product field if you select an action code of Add, Replace, Update, or Delete and if the base product has components. You cannot enter a component in this field when the action code is Upgrade or Workflow.

                User Input

                Select this check box if the action requires user input. This field is used only with named parameters. For more information, see Product Offers with Named Parameters.

                Workflow Name

                If you selected workflow as the action code, then use this field to select the workflow process. If you invoke a workflow, then you can also pass parameters to this workflow if necessary. For more information, see Creating Parameters for Actions That Invoke Workflows.

                Field Name and Field Value

                If the action code is Update, then you can select a field name and field value to update the field with the specified value.

                If you select a component product, then only the attributes and fields applicable to that component product are available for selection. If you do not select a component product, then only the fields applicable to the base product are available for selection.

                Attribute Name and Attribute Value

                If the action code is Update, then you can select an attribute name and attribute value to update the attribute with the specified value.

                If you select a component product, then only the attributes and fields applicable to that component product are available for selection. If you do not select a component product, then only the attributes and fields applicable to the base product are available for selection.

                Upgrade Product

                If the action code is Upgrade, then select the product that you want to upgrade.

                Named Parameter

                If you are using a named parameter, then select one of the following options to specify what type of object the named parameter applies to:

                • Base Product

                • Component Product

                • Upgrade Product

                • Attribute Value

                • Field Value

                Do not enter a value in the equivalent fields of the Action record if you are specifying those values using named parameters. For example:

                • Do not enter a value in the Base Product field when you select Base Product in the Named Parameter field.

                • Do not enter a value in the Attribute Value field when you select Attribute Value in the Named Parameter field.

                You can either enter these values directly in the fields of the Action record, or you can specify these values using named parameters. For more information about how to specify values using named parameters, see Product Offers with Named Parameters.

                Parent Action

                Enter a parent action when the user input for this action is dependent on a user selection for an earlier action.

                This field can be used with named parameters. For more information, see Product Offers with Named Parameters.

                This field can also be used for other purposes. For more information, see Example of Creating Product Offers with Parent Actions.

                Allow Multiple Instance

                This check box specifies the number of instances of a product within a quote or order. By default, the check box is selected and it allows multiple line items with the same product. To allow only one instance of a product in a quote or order, deselect the check box.

                For example, if you were creating an offer that adds the International Calling Package to the customer’s existing home phone service, you would deselect the Allow Multiple Instance check box, because a customer would never need two or more International Calling Packages.

                Creating Parameters for Actions That Invoke Workflows

                If you defined an action for the product offer that invokes a workflow, then you can define parameters that are passed to the workflow.

                For example, you have a number of product offers that require customers to have a minimum, prepaid balance, with different balances required for the different product offers. You create a workflow that checks an external application to determine the customer’s prepaid balance and that generates an order only if the customer has more than the required balance. Different product offers pass different parameters to the workflow, depending on the minimum balance that the offer requires. When you create a new product offer that requires a minimum balance of $50, you call this workflow, and enter 50 as the workflow parameter.

                For this product offer, you would enter the name of this workflow that checks minimum balance in the Workflow field, and you would enter 50 in the Value field in the following procedure. For a different product offer that requires a minimum balance of $200, you would enter the name of this workflow in the Workflow field, and you would enter 200 in the Value field.

                If you want to provide inputs from the current context, such as an order ID generated by earlier actions or custom fields on the account header, then you must extend the Default Product Offer Recommendation variable maps unless you have configured custom variable maps

                To specify parameters for actions that invoke workflows
                1. Create the action, as described earlier in this topic, with the values shown in the following table.

                  Field Value

                  Action

                  RunProcess

                  Action Code

                  Workflow

                  Workflow

                  The name of the workflow that is invoked

                2. Click the Workflow Parameter view tab.

                3. Add one or more new records to the Workflow Parameter list, and complete the necessary fields. Some fields are described in the following table.

                  Field Comments

                  Name

                  Enter a workflow parameter name.

                  Value

                  Enter the workflow parameter value.

                  Creating Eligibility and Compatibility Rules for Product Offers

                  You can define eligibility rules and compatibility rules for product offers. For more information, see the topics about eligibility rules and compatibility rules in Siebel Product Administration Guide.

                  An eligibility rule is a rule that restricts product offers to only some of your customers. For example, a product offer might be offered only to customers in certain states.

                  A compatibility rule is a rule that specifies other products or services with which product offers can and cannot be used. For example, the product offer, Free Unlimited Text Messages, requires customers to have the plan, Pay-As-You-Go Text Messages.

                  This task is a step in Process of Creating Product Offers.

                  To create eligibility and compatibility rules for product offers

                  1. Navigate to the Administration - Product screen, then Product Offers view.

                  2. Select the Product Offer that you want.

                  3. In the More Info view tab, make sure that the Check Eligibility check box is selected and that the Inclusive Eligibility check box is selected if you want to create inclusive rules or that it is deselected if you want to create exclusive rules.

                  4. Click the Eligibility and Compatibility view tab.

                  5. Display the appropriate view as follows:

                    • If you are checking eligibility, then click the Eligibility link.

                    • If you are checking compatibility, then click the Compatibility link.

                    • If you are checking compatibility based on product line, then click the Product Line Compatibility link.

                  6. Define the eligibility and compatibility rule in the same way that you define these rules for products.

                    For more information, see Siebel Product Administration Guide.

                    Creating Product Offer Recommendations

                    You can define upsell and cross-sell recommendations for product offers. You can recommend the product offer to customers who have a specific installed asset or to customers who add a specific item to a quote or order.

                    You can define translations of the recommendations so they are displayed in the customer service representative’s language. For information about how the customer service representative can view the recommendations, see Viewing Product Offers for an Account.

                    For example, you are creating a product offer for unlimited text messaging for $10 for a month. You want to present this product offer as an upsell recommendation to mobile service customers who already have the pay-as-you-go text message plan. To accomplish this, you do the following:

                    • You create a recommendation when you define this product offer, and you select Mobile Service as the subject product. This product offer is the default value of the object product.

                    • You set up a compatibility rule that states that this product offer requires customers to have the pay-as-you-go text message plan.

                    When customer service representatives view the installed assets of mobile services customers, they can select Recommendations from the menu to display this product offer. The compatibility rule ensures that the product offer is displayed only for customers who have the pay-as-you-go text message plan. For more information about recommendations, see the chapter about product recommendations in Siebel Order Management Guide.

                    This task is a step in Process of Creating Product Offers.

                    To create product offer recommendations

                    1. Navigate to the Administration - Product screen, then Product Offers view.

                    2. Select the Product Offer that you want.

                    3. Click the Recommendations view tab.

                    4. Add a new record to the Recommendations list, and complete the necessary fields. Some fields are described in the following table.

                      Field Comments

                      Subject Product

                      Select the product that the customer must own or be interested in buying to get this recommendation.

                      Object Product

                      This field displays the product offer, which is the upsell or cross-sell product recommended to the customer.

                      Reason

                      Enter the message to be displayed in the Messages list. The message is used by customer service representatives to tell customers the reason that they should purchase the upsell or cross-sell product.

                      Effective From and Effective To

                      Enter the start date and end date of the period when this recommendation is active.

                    5. To specify translations for the text message that you entered in the Reason field, do the following:

                      1. Select the record that you want to translate in the Recommendations list.

                      2. In the Translations list that is after the Product Recommendations list, add a new record for each translation, and complete the necessary fields. Some fields are described in the following table.

                        Field Comments

                        Language

                        Enter the language code for the translation. For example, if this record contains the French translation of the message text, then enter the code FRA.

                        Reason

                        Enter the translation of the message text. This translation is displayed in implementations in the language that you specified. For example, if the company has a Siebel implementation or a Web site in French, then this French translation is displayed in that implementation.

                      Creating Translations for Product Offer Messages

                      You can use the Messaging view to enter translations for the product offer description and message that you entered in the product offer header.

                      Note: In addition to translating the product offer description and message, you can also translate the names of the products using the Administration Products screen, Translations view. For more information, see Siebel Product Administration Guide.

                      The translations are displayed on both Web sites and in Siebel applications, depending on the language of each channel.

                      This task is a step in Process of Creating Product Offers.

                      To create translations for product offer messages

                      1. Navigate to the Administration - Product screen, then Product Offers view.

                      2. Select the Product Offer that you want.

                      3. Click the Messaging view tab.

                      4. For each language in which the description is displayed, add a new record to the Messages list, and complete the necessary fields. Some fields are described in the following table.

                        Field Comments

                        Language Name

                        After you select the language code, this field displays the name of the language.

                        Language Code

                        Select the language code. For example, select ENU for U.S. English or ENG for British English

                        Description

                        Enter the translation of the Description field.

                        Message

                        Enter the translation of the Message field.

                        Releasing Product Offers

                        When you created the new Product Offer record, a version of it named Work Space was automatically created, and the Locked check box was automatically selected in Product Offer, Versions view. When you have finished the entire process of defining the product offer, you must release this version and refresh the cache to make the new version available to users. For more information about refreshing the cache, see About Versions of Product Offers.

                        This task is a step in Process of Creating Product Offers.

                        To release product offers

                        1. Navigate to the Administration - Product screen, then Product Offers view.

                        2. Select the Product Offer that you want.

                        3. Click the Versions view tab.

                        4. If you have not cleared the cache since modifying information in this view, from the Versions menu, select Refresh Cache.

                          For more information about refreshing the cache, see About Versions of Product Offers.

                        5. Click Release New Version.

                        6. Click the More Info view tab.

                          Product Offers with Named Parameters

                          Named parameters enable you to create a generic product offer to serve as a template for a number of similar offers. The named parameter is a variable that can take a number of different values, based on the user’s input during run time. After accepting the product offer, the user selects an option from a list of possible values.

                          A product offer can include only one action that takes user input in the Siebel application. Although product offers are aimed at unassisted channels, named parameters provide some user interactivity: they enable a two-click order instead of a one-click order. Only one named parameter is allowed for a product offer to limit user interactivity. After the user accepts the product offer, the user is allowed to select from only one more prompt.

                          This limited user interactivity is allowed to make it easier to set up product offers. The administrator can create one product offer that uses a named parameter to let the user choose from 20 options, instead of having to create 20 different product offers that are almost identical.

                          The following topics cover product offers with named parameters:

                            Scenario for Setting Up Product Offers with Named Parameters

                            This scenario shows one way that you can set up product offers using named parameters. You might use named parameters differently, depending on your business model.

                            A telecommunications company wants to set up a product offer that allows customers to get a 20% discount on all of its Short Messaging Service (SMS) options, 50 messages, 200 messages, 500 messages, or unlimited messages. Rather than setting up a separate product offer for each option, the company sets up one product offer with named parameters, which allows the customer to choose an option. The product offer says: Get 20% off SMS. If the customer clicks Accept, then the product offer displays a list that gives the customer the choice of selecting 50, 200, 500, or unlimited messages.

                            If you do not have named parameters, then you have to create four different offers, all with the same set of actions:

                            • Action Type is set to Modify.

                            • Action Code is set to Add.

                            • Base Product is set to Mobile Service.

                            • Component Product is set to 50 SMS, 200 SMS, 500 SMS, or Unlimited SMS.

                            Using named parameters, you create one product offer, with the following actions:

                            • Action Type is set to Modify.

                            • Action Code is set to Add.

                            • Base Product is set to Mobile Service.

                            • Component Product. (Leave this field blank.)

                            • Named Parameter is set to Component Product.

                            In this case, all of the options for SMS are set up as possible component products of the base product that is used to provide customers with their telecommunications package.

                            If the customer accepts the product offer, then the Siebel application displays a list SMS options for the user to choose from. You define the domain of the named parameter to specify which items are in this list. For more information on named parameters, see Creating Product Offers with Named Parameters

                              Creating Product Offers with Named Parameters

                              To create product offers with named parameters, create the product offers in the usual way, described in Process of Creating Product Offers, and enter the values described in the following procedure.

                              The following procedure shows you how to define a named parameter where the Siebel application gets the user input. You select the User Input check box, and you use the named parameter to present the user with a list of choices. If you are using some other application as the user interface that receives input, then you do not have to use these fields.

                              To create product offers with named parameters

                              1. When you create the action, as described in Creating Actions for Responses to Product Offers, enter the values described in the following table in the Action record.

                                Field Comments

                                User Input

                                Select this check box to specify that the value of the named parameter is determined by the user’s input.

                                Named Parameter

                                Select an option to specify which value will be determined using a named parameter. The options are as follows:

                                • Base Product. The named parameter sets the value of the base product in the product offer.

                                • Component Product. If you select Component Product in the Named Parameter field, then you must also enter a value in the Base Product field to specify which base product has a component product set by the named parameter.

                                • Upgrade Product. The named parameter sets the value of the upgrade product.

                                • Attribute Value. If you select Attribute Value in the Named Parameter field, then you must also enter a value in the Attribute Name field to specify which attribute has its value set by this named parameter.

                                • Field Value. If you select Field Value in the Named Parameter field, then you must also enter a value in the Field Name field to specify which field has its value set by this named parameter.

                                Parent Action

                                Enter a parent action if the input for this action depends on a user selection for an earlier action. For example, a product offer allows the customer to get a 20% discount on any accessory for a particular brand of smartphone. You must create two actions:

                                • The first action adds the accessory selected by the user to the order. The named parameter is the base product. The user is prompted to select any product in the product line that includes all accessories for this smartphone.

                                • The second action applies a 20% discount to the product that the user selected in the first action. You must select the first action as the parent action for the second action, so the Siebel application can determine that it applies the discount to the product that was selected in the first action.

                              2. Click the Named Parameters view tab.

                                The domain of the named parameter is the list of values that the user can choose from. You can specify a component domain, which allows you to define the products in the domain by explicitly selecting all of the individual products, attribute values, or field values that are available.

                              3. Add a record to the Component Domain list for each allowed value in the domain, and complete the necessary fields. Some fields are described in the following table.

                                Field Comments

                                Sequence

                                Enter the sequence in which this value is listed when the allowed values are displayed to the user.

                                Base Product/ Component Product/ Upgrade Product/ Attribute Value/ Field Value.

                                Enter an allowed value for this parameter.

                                The name of this field is dynamic and depends on what you select in the Named Parameter field of the Action record. For example, if you select Base Product in the Named Parameter field of the Action record, then this field displays the field name Base Product, indicating that you enter one allowed value for the base product in this field.

                              When the user accepts the product offer, the Siebel application displays a list of all the products in the domain that you defined, so that the user can choose one product.

                                Example of Creating Product Offers with Parent Actions

                                This topic gives one example of using parent actions in product offers. You might use this feature differently, depending on your business model.

                                The Parent Action field is in the Action record. For more information, see Creating Actions for Responses to Product Offers.

                                You use the Parent Action field when you create products offers with named parameters. For more information, see Creating Product Offers with Named Parameters.

                                You can also use the Parent Action field for other purposes. This example describes one possible use of parent actions for other purposes.

                                You have a product offer that gives 50% discount on an accessory, a product named Bluetooth Headset. The first action adds this product, and the second action gives a 50% discount to the product added in the first action. The second action has the first action as its parent action, because it uses a value from the first action.

                                To create this product offer with a parent action, create the product offers in the usual way, described in Process of Creating Product Offers, and when you add the Action records, enter the values described in the following procedure.

                                To create actions for a response to a product offer

                                1. Navigate to the Administration - Product screen, then Product Offers view.

                                2. Select the Product Offer that you want.

                                3. Click the Responses view tab.

                                4. Select the response that you want.

                                5. To add the headset to the order, add a record to the Responses - Actions list, and complete the necessary fields with the values shown in the following table.

                                  Field Value

                                  Sequence

                                  1

                                  Action Name

                                  Add Headset

                                  Action Type

                                  New

                                  Action Code

                                  Add

                                  Base Product

                                  Bluetooth Headset

                                6. To give a 50% discount for the product that was added in the first action, add a second record to the Responses - Actions list, and complete the necessary fields with the values shown in the following table.

                                  Field Value

                                  Sequence

                                  2

                                  Action Name

                                  Give 50% Discount

                                  Action Type

                                  New

                                  Action Code

                                  Update

                                  Base Product

                                  no value

                                  Field Name

                                  Discount Percent

                                  Field Value

                                  50

                                  Parent Action

                                  Add Headset

                                Modifying Product Offers

                                Because product offers are versioned, you modify them by modifying the Workspace version in the Versions view. Whenever you release a product offer, the product offer that you release is given a version number, and a new version named Work Space is automatically created.

                                Versions of product offers are different from versions of products and promotions because only the Start Date, End Date, and Active fields of the product offer can be different in different versions. Apart from these three fields, every other field of a product offer is uniform for all versions of the product offer. You must refresh the cache after making any changes to the product offer definition, so these fields remain uniform. For more information, see About Versions of Product Offers.

                                Note: If you change the data in any other field except the Start Date, End Date, and Active Field, then the change populates all of the older versions of the product offer as well as the new version.

                                To modify product offers

                                1. Navigate to the Administration - Product screen, then Product Offers view.

                                2. Select the Product Offer that you want.

                                3. Click the Versions view tab.

                                4. Make sure that the Work Space version is selected.

                                5. Select the Locked Flag check box.

                                6. Modify the Work Space version of the product offer by clicking the other view tabs and modifying the information.

                                  For more information about the information in each view, see Process of Creating Product Offers.

                                7. When it is time for customer service representatives and customers to view the modified product offer, click Release New Version.

                                8. From the Versions menu, select Clear Cache.

                                Product Offers for Multiple Products

                                Product offers allow you to create a single offer for a single product. You can also use product offers to create quotes or orders for multiple products by:

                                • Creating a product offer for each of the products, as described earlier in this chapter.

                                • Chaining together these product offers using the Apply Multiple Product Offers web service. For background information about how to use this web service, see Scenarios for Product Offers for Multiple Products Using Web Services. For technical information about this web services, see Siebel CRM Web Services Reference.

                                Typically, you use the Apply Multiple Product Offers web service to create orders for residential customers and to create quotes for business customers.

                                Viewing Product Offers for an Account

                                Customer service representatives can view all product offers for an account’s installed assets.

                                This procedure displays all upsell or cross-sell recommendations for the account’s installed assets that are either promotions or product offers.

                                Note: Product offers are not displayed in the Catalog or Product Pick applet of the Siebel application.

                                To view product offers for an account

                                1. Navigate to the Accounts screen, then the Accounts List view.

                                2. In the accounts list, drill down on the name of the Account that you want.

                                  The Account Summary view appears, with the Installed Assets list and the Billing Items list on either side.

                                3. In the menu for the Installed Assets list, select Recommendations.

                                  A dialog box appears containing a list of all recommendations for this account.

                                4. In the dialog box, select recommendations in the list, and click the buttons to accept or reject the product offer.

                                Tasks for Suppressing Product Offer Recommendations

                                The following topics describe how to suppress product offer recommendations:

                                  Suppressing Product Offer Recommendations that Have Been Accepted or Rejected

                                  You suppress recommendations so that the same recommendation is not shown to the same customer or for the same asset after it has already been accepted or rejected.

                                  For example, a customer has two mobile service subscriptions, one for himself and one for his wife. There is a product offer giving a 20% discount on any SMS to mobile service subscribers. This customer is presented with two offers, one for each of the mobile subscriptions. The customer is not interested in the SMS option for his wife, so he rejects the offer. The next time the customer calls, the offer for his wife is not displayed because it has already been rejected, but the offer for him is displayed. The customer accepts the offer for himself, and this offer will not be shown again because it has already been accepted.

                                  This procedure assumes you are using the default Product Offer Recommendation message type and default responses. If you have created other message types or responses, you can turn suppression on and off in the same way.

                                  To suppress recommendations that have been accepted or rejected

                                  1. Navigate to the Administration - Order Management screen, then the Message Types view.

                                  2. In the Message Types list, query for Product Offer Recommendation.

                                  3. Click the Responses view tab.

                                  4. For the Accept and Reject responses, select the Suppress Repetition check box to turn suppression on, or deselect this check box to turn suppression off.

                                    Suppressing Component Product Recommendations

                                    Product offer recommendation can be set at either the component product or root product level. By default, the product displays all recommendations for the assets of a given account. To improve performance, you might want to show recommendations for only the root products, not component products.

                                    To suppress component product recommendations, you set a search specification for the variable map that controls the recommendation, which is Default Product Offer Recommendation Variable Map - Row Set, unless you have configured product offers by creating custom variable maps.

                                    To configure product offers to suppress recommendations

                                    1. Navigate to the Administration - Order Management screen, then the Variable Maps view.

                                    2. In the Variable Maps list, query for the variable map you want.

                                      If you are using the default variable maps shipped with the product, query for Default Product Offer Recommendation Variable Map - Row Set

                                    3. Drill down on the Work Space version.

                                    4. Lock the Work Space version.

                                    5. Click the Modes view tab.

                                    6. In the row for the mode Any, in the SearchSpec field, to filter out the recommendations that you want to suppress, enter the search specification

                                      [Asset Id]=[Root Asset Id] .
                                      
                                    7. Release the Work Space version, and refresh the cache.

                                      Migrating Product Offers Using Workspace Projects

                                      You can migrate product offers from one Siebel CRM environment to another by using workspace projects.

                                      You can export just the product offer header or the full structure of the product offer, including all its child objects. If you export the full structure, then all the objects that the product offer refers to must exist in the target environment, including products, promotions, and eligibility and compatibility matrixes. For example, if you migrate a product offer that includes the product named Mobile Service and the component product named SMS Unlimited, then the product offer import fails if the products Mobile Service and SMS do not exist in the target environment.

                                      To migrate product offers using workspace projects

                                      1. Export the product offer from the source environment:

                                        1. Navigate to the Administration - Product screen, then the Workspace Projects view.

                                        2. In the Workspace Projects list, add a new record and complete the necessary fields. Some fields are described in the following table.

                                          Field Comments

                                          Name

                                          Enter a name for the workspace project.

                                          Effective Start Date

                                          Enter the date that the application uses to determine what versions must be exported for dependent items.

                                          When you import a workspace, this field is also used to set the start date of the versions released from the workspace project.

                                        3. Click the Contents view tab.

                                        4. In the Contents list, click Add to add a new record.

                                        5. In the Select Versioned Object dialog box, select the product offer that you want.

                                        6. Continue to add new records and to select new product offers until you have selected all the product offers you want to migrate.

                                        7. From the Workspace Project menu, select Export Contents.

                                        8. In the Export Contents dialog box, choose one of the export options and click OK. Options are as follows:

                                          • Object(s) only export. Exports the product offer header information only.

                                          • Full structure export. Exports the product offer header and all of its child objects, including Responses, Actions, Recommendations and Messages. Full structure does not include product or promotion definitions.

                                        9. Use the dialog box to save the contents in an XML file in a location that you can access from the target environment.
                                      2. Import the product offer to the target environment:

                                        1. Navigate to the Administration - Product screen, then the Workspace Projects view.

                                        2. In the Workspace Projects list, add a new record and complete the necessary fields. Some fields are described in the following table.

                                          Field Comments

                                          Name

                                          Enter a name for the workspace project.

                                          Effective Start Date

                                          Enter the date that is used to set the Start Date of the versions released from the workspace project.

                                        3. From the Workspace Project menu, select Import Contents.

                                        4. In the dialog box, select the XML file with the content you want, and click on OK

                                          The product offers from the XML file appear in the Contents view, and are all locked.

                                        5. Click Release All.

                                      Scenarios for Product Offers for Multiple Products Using Web Services

                                      This topic describes how a telecommunications company might set up product offers for multiple products. You might use product offers differently, depending on your business model.

                                      Before you use any of the scenarios in this topic, the telecommunication company must have an eCommerce web site that can present the products and product offers that are defined in Siebel CRM application. Here is a simplified description of how residential customers could use this Web site to place an order:

                                      • First, the user launches the telecommunication company's web site and clicks on the link to shop for residential products and services.

                                      • The user enters the address where the service would be installed.

                                      • The eCommerce Web site displays a list of services available in this location. In this example, the user selects the triple play bundle, which includes telephone, internet and television. Each of these options is defined as a product offer.

                                      • The eCommerce Web site displays a list of add-ons based on the user's selection. For example, because the selected package includes television and home phone service, the user can select add-ons including Basic Movie Package, Sports package, and International calling package. Each of these specific add-on options is defined as a product offer, and users select the combination they want.

                                      • After finishing choosing specific options, the user clicks the Review Order button. At this point, the eCommerce application invokes the Apply Multiple Offers to Create Order web service to generate the complete order detail along with the final price. The order is generated in memory and is not saved to the Siebel database.

                                      • If user is satisfied with this order, the user clicks the Place Order button. At this point, the eCommerce application invokes the Order web service to save the order to the Siebel application.

                                      This topic includes the following scenarios for using web services related to product offers for multiple products:

                                        Scenario for a New Customer to Create a Quick Quote

                                        In this scenario, a new customer gets a quick quote for a service bundle.

                                        1. A new customer browses the eCommerce Web site of a telecommunications provider. The customer enters his home zip code and views a list of available services. The customer decides to get a quick quote for a new promotion offered by the provider, called the Medium Triple Play Bundle, which includes Internet +Home Phone+ Basic TV Bundle for $120 /month.

                                        2. The eCommerce web application calls a Siebel web service to return a list of eligible product offers for the customer. The customer selects the following offers:

                                          • Two add-ons for TV:

                                            • Basic Movie package

                                            • Spanish Combo channel

                                          • One add on for Internet:

                                            • Online Security

                                        3. To generate a quote, the eCommerce web application calls the Siebel web service ApplyMultipleProductOffers.

                                          The web service requires the list of product offer ids along with the sequence in which they are selected. The web service has the option to save the quote in Siebel CRM or generate the quote in memory. Because this is an in-memory Quick Quote, you specify that the quote is not saved by populating the SaveFlag with N in the input message.

                                          To view an example of this web service, navigate to the documentation library for Siebel applications on Oracle Technology Network (http://www.oracle.com/technetwork/indexes/documentation/index.html), and click the Related Files link next to the link for Siebel CRM Web Services Reference to access a zip file. Extract the files in the zip file, and see the following files to view the sample code:

                                          • ...\Product Offer-Apply Multiple Product Offers\New Acquisition - InMemory - Request Message.txt

                                          • ...\Product Offer-Apply Multiple Product Offers\New Acquisition - InMemory - Response Message.txt

                                        4. The web service output message is a document generated in memory with the structure shown in the following table.

                                          Sequence Product Promotion Action Code

                                          1.0

                                          Medium Triple Play Bundle

                                          Add

                                          2.0

                                          Internet Service

                                          Medium Triple Play Bundle

                                          Add

                                          2.1

                                          Fibe 100GB

                                          Add

                                          2.2

                                          Online Security

                                          Add

                                          3.0

                                          Voice Service

                                          Medium Triple Play Bundle

                                          Add

                                          3.1

                                          Flat National

                                          Add

                                          4.0

                                          TV Service

                                          Medium Triple Play Bundle

                                          Add

                                          4.1

                                          Essential Plan

                                          Add

                                          4.2

                                          Basic Movie Package

                                          Add

                                          4.3

                                          Spanish Combo Package

                                          Add

                                          5.0

                                          Internet Router

                                          Medium Triple Play Bundle

                                          Add

                                          Note: The newly generated order applies the default promotion constraints. Eligibility & Compatibility rules and Product Configurator constraints are enforced using the Configurator BatchValidate API. Pricing rules are enforced by invoking the Siebel Pricing workflows.

                                          Scenario for a New Customer to Add Items to an Existing Quote

                                          In this scenario, the customer reviews the quote described in Scenario for a New Customer to Create a Quick Quote and selects the premium set-top box instead of the default option for basic set-top box.

                                          1. To generate a quote, the eCommerce web application calls the Siebel web service ApplyMultipleProductOffers. Because we are updating an existing quote, you specify the quote structure in the input message. The web service applies the offers to the existing quote instead of generating a new quote.

                                            To view an example of this web service, navigate to the documentation library for Siebel applications on Oracle Technology Network (http://www.oracle.com/technetwork/indexes/documentation/index.html), and click the Related Files link next to the link for Siebel CRM Web Services Reference to access a zip file. Extract the files in the zip file. See the following files to view the sample code:

                                            • ...\Product Offer-Apply Multiple Product Offers\New Acquisition - Add Equipment - Request Message.txt

                                            • ...\Product Offer-Apply Multiple Product Offers\New Acquisition - Add Equipment - Response Message.txt

                                          2. The web service output message is a document generated in memory with the structure shown in the following table.

                                            Sequence Product Promotion Action Code

                                            1.0

                                            Medium Triple Play Bundle

                                            Add

                                            2.0

                                            Internet Service

                                            Medium Triple Play Bundle

                                            Add

                                            2.1

                                            Fibe 100GB

                                            Add

                                            2.2

                                            Online Security

                                            Add

                                            3.0

                                            Voice Service

                                            Medium Triple Play Bundle

                                            Add

                                            3.1

                                            Flat National

                                            Add

                                            4.0

                                            TV Service

                                            Medium Triple Play Bundle

                                            Add

                                            4.1

                                            Essential Plan

                                            Add

                                            4.2

                                            Basic Movie Package

                                            Add

                                            4.3

                                            Spanish Combo Package

                                            Add

                                            5.0

                                            Internet Router

                                            Medium Triple Play Bundle

                                            Add

                                            6.0

                                            Premium Set-Top box

                                            Medium Triple Play Bundle

                                            Add

                                            Note: A line item has been added to the order for the Premium Set-Top Box.
                                          3. The customer can complete customizing the order by selecting more services, but in this case, the customer just clicks the Place Order button.

                                          4. The eCommerce web application calls the Siebel ApplyMultipleProductOffertoCreateOrder web service with SaveFlag set to Y.

                                            Scenario for Upsell Offers

                                            An existing customer has TV service with the Basic Movie package. This customer logs in to the telecommunication provider’s e-Commerce site to pay his bill.

                                            1. The telecommunication provider’s e-Commerce Web site displays upsell offers that can be added to the customer’s existing TV service, and the customer selects the following options:

                                              • Premium Movie Package

                                              • On-Demand TV Service

                                            2. To generate a quote, the eCommerce web application calls the Siebel web service ApplyMultipleProductOffers. Because we are modifying the customer's existing service, you specify the asset-id in the input message.

                                              To view an example of this web service, navigate to the documentation library for Siebel applications on Oracle Technology Network (http://www.oracle.com/technetwork/indexes/documentation/index.html), and click the Related Files link next to the link for Siebel CRM Web Services Reference to access a zip file. Extract the files in the zip file. See the following files to view the sample code:

                                              • ...\Product Offer-Apply Multiple Product Offers\Existing Customer - Upsell Add-ons - Request Message.txt

                                              • ...\Product Offer-Apply Multiple Product Offers\ Existing Customer - Upsell Add-ons - Response Message.txt

                                            3. The web service output message is a document generated in memory with the structure shown in the following table.

                                              Sequence Product Promotion Action Code

                                              1.0

                                              TV Service

                                              Medium Triple Play Bundle

                                              -

                                              1.1

                                              Essential Plan

                                              -

                                              1.2

                                              Spanish Combo Package

                                              -

                                              1.3

                                              Basic Movie Package

                                              Delete

                                              1.4

                                              Premium Movie Package

                                              Add

                                              1.5

                                              On-Demand TV

                                              Add

                                              Note: Basic Movie Package is replaced with Premium Movie Package

                                            Alternative Use of the Web Service in This Scenario

                                            Alternatively, the ApplyMultipleProductOffers Web service supports the document id in the input message. The document id is either an order or quote id that exists in the Siebel database. For example:

                                            1. The first web service call adds Premium Movie Package and saves the order to the Siebel database.

                                            2. The second web service call updates the order in Siebel with On-Demand TV service.

                                              Scenario for Changing Service Plan

                                              An existing customer has the Medium Double-Play Bundle, which includes Internet and Voice services. She logs in to the telecommunication provider’s e-Commerce site to add TV service.

                                              1. The customer places an order for the Medium Triple-Play Bundle, which includes Internet, Voice, and TV services.

                                              2. To generate a quote, the eCommerce web application calls the Siebel web service ApplyMultipleProductOffers. Because we are changing from a Double Play bundle to a Triple Play bundle, you specify the asset-id of the Double Plan bundle in the input message. Because this is an in-memory quote, you specify that the order is not saved by populating the SaveFlag with N in the input message.

                                                To view an example of this web service, navigate to the documentation library for Siebel applications on Oracle Technology Network (http://www.oracle.com/technetwork/indexes/documentation/index.html), and click the Related Files link next to the link for Siebel CRM Web Services Reference to access a zip file. Extract the files in the zip file. See the following files to view the sample code:

                                                • ...\Product Offer-Apply Multiple Product Offers\ Change Plan - InMemory Upgrade - Request Message.txt

                                                • ...\Product Offer-Apply Multiple Product Offers\ Change Plan - InMemory Upgrade- Response Message.txt

                                              3. The web service output message is a document generated in memory with the structure shown in the following table.

                                                Sequence Product Promotion Action Code

                                                1.0

                                                Medium Double Play Bundle

                                                Delete

                                                2.0

                                                Medium Triple Play Bundle

                                                Add

                                                3.0

                                                Internet Service

                                                Medium Triple Play Bundle

                                                Update

                                                4.0

                                                Digital Voice Service

                                                Medium Triple Play Bundle

                                                Update

                                                5.0

                                                Internet Router

                                                Medium Triple Play Bundle

                                                Update

                                                6.0

                                                TV Service

                                                Medium Triple Play Bundle

                                                Add

                                                7.0

                                                Premium Set-top box

                                                Medium Triple Play Bundle

                                                Add

                                                Note: Existing Internet and Voice Services are transferred to the new Triple Play Bundle.

                                                Scenario for Build Your Own Bundle

                                                A new customer browses the e-Commerce site of a telecommunications provider and finds that the bundles of services offered on the site do not meet her requirements. She decides to create her own bundle of services by selecting individual options.

                                                1. The customer selects Build Your Own Bundle and chooses the following options:

                                                  • Internet - 500 mbps (highest speed)

                                                  • VoIP - Per minute call

                                                  • Basic Home Security package.

                                                2. To generate a quote, the eCommerce web application calls the Siebel web service ApplyMultipleProductOffers. Because this is an in-memory Quick Quote, you specify that the quote is not saved by populating the SaveFlag with N in the input message.

                                                  To view an example of this web service, navigate to the documentation library for Siebel applications on Oracle Technology Network (http://www.oracle.com/technetwork/indexes/documentation/index.html), and click the Related Files link next to the link for Siebel CRM Web Services Reference to access a zip file. Extract the files in the zip file. See the following files to view the sample code:

                                                  • ...\Product Offer-Apply Multiple Product Offers\ BuildYourOwnBundle - Request Message.txt

                                                  • ...\Product Offer-Apply Multiple Product Offers\ BuildYourOwnBundle - Response Message.txt

                                                3. The web service output message is a document generated in memory with the structure shown in the following table.

                                                  Sequence Product Promotion Action Code

                                                  1.0

                                                  Build Your Own Bundle

                                                  Add

                                                  2.0

                                                  Internet Service

                                                  Build Your Own Bundle

                                                  Add

                                                  2.1

                                                  Fibe 500GB

                                                  Add

                                                  3.0

                                                  Voice Service

                                                  Build Your Own Bundle

                                                  Add

                                                  3.1

                                                  Per Minute Plan

                                                  Add

                                                  4.0

                                                  Home Security

                                                  Build Your Own Bundle

                                                  Add

                                                  4.1

                                                  Basic Package

                                                  Add

                                                  RAF Create Document Workflow

                                                  RAF Create Document Workflow, shown in the following. is a wrapper workflow to carry out all actions in the product offer. It is invoked through the signal RAF Create Offer Document when the user accepts or rejects a product offer in the recommendation window. It is also invoked called from the Web service flows for processing product offers. This workflow accepts an order or quote structure as input. If the input argument ProcessInMemory=N, it synchronizes the quote or order generated to the database; if ProcessInMemory=Y, it returns the quote or order as an output argument.

                                                  RAF Create Document Workflow

                                                  Workflow Description

                                                  This workflow performs the following actions:

                                                  • Web Channel Call? This decision step routes the flow to the Prepare Actions step if the process property Web Channel Call is Y or to the Get Context step if it is not Y. If the workflow is invoked through the Web channel, the context and rowset information are prepopulated, and the flow can go directly to the Prepare Actions step because it is not necessary to get the context or the rowset.

                                                  • Get Context. This step calls the method GetRowSetData of the Context Service business service. It uses the variable map Default Product Offer Recommendation Variable Map - Context to get the account header information.

                                                  • Get Rowset. This step calls the method GetRowSetData of Context Service business service. It uses the variable map Default Product Offer Recommendation Variable Map - Row Set to get all asset information for the account.

                                                  • Prepare Actions. This step calls the subprocess RAF Prepare Actions Sub Process which queries for all the actions defined for the particular product offer and sorts them into different property sets depending on Action type. Outputs of this step are property sets such as Modify Action Set, New Action Set, RunProcess Action Set and so on.

                                                  • Return to same view. This decision step determines if the user should be navigated to a different view or remain in the same view. If the product offer has no actions specified, then the Return to same view flag is set to Y. If this Flag is Y the flow goes to business service step Return to Same View. If not, the flow goes to the step Only RunProcess?

                                                  • Only Run Process? This decision step routes flow to Merge Consolidated and RunProcess Actions if all the actions defined for Product Offer are of Type Run Process. If not, it routes the flow to Prepare Doc Header.

                                                  • Prepare Doc Header. This step calls the subprocess RAF Prepare Header Sub Process, which creates an Order or Quote header depending on account type and active doc Id.

                                                  • Consolidate Actions. This step calls the subprocess RAF Consolidate Actions Sub Process, which consolidates all actions based on Action type (other than Run Process) and groups them under one Base product.

                                                  • Merge Consolidated and RunProcess Actions. This step merges the consolidated property set from Consolidate Actions and Run Process property set.

                                                  • Sort Merged Actions. This business service step calls the method SortRowSet of business service RAF Product Offers Service which sorts the merged action property set according to sequence.

                                                  • Next Row Set. This step picks the next rowset from context property set.

                                                  • Is Next Row? This decision step routes the flow to the step Get Consolidated Action if Cur Row Id is not Null. Otherwise, it routes the flow to the step Is Order Created.

                                                  • Get Consolidated Action. This step gets the current consolidated actions and, depending on account type, builds an order or quote context rowset.

                                                  • Action Type = Run Process? This decision step routes the flow to Check Pre Order or Post Order if the Action Set Type is Run Process. Otherwise, it routes the flow to Action = Modify or Update?

                                                  • Action = Modify or Update? This decision step routes the flow to Modify Sub Process if the Action Code is - or Modified. Otherwise, it routes the flow to Action = Delete?

                                                  • Action = Delete. This decision step routes the flow to Delete Sub Process if the Action Code is Deleted. Otherwise, it routes the flow to Action = Add.

                                                  • Action = Add. This decision step routes the flow to Add Sub Process if the Action Code is New. Otherwise, it routes the flow to Action = Upgrade.

                                                  • Action = Upgrade. This decision step routes the flow to Sub Process Upgrade if the Action Code is Upgrade. Otherwise, it routes the flow to Clear Context Row id.

                                                  • Check Pre Order or Post Order. This step checks whether Run Process is the first action to be processed and whether or not an order has been created.

                                                  • To Sync? This decision step routes the flow to Check For Promotion and Apply Promotion if the response is not reject and the order has not been synchronized already. Otherwise, it routes the flow to Run Process Sub Process.

                                                  • Check For Promotion and Apply Promotion. This step calls the subprocess RAF Check For Promotion Sub Process which checks whether the Promotion Name is correct and does Apply, Disconnect, Modify or Upgrade promotion.

                                                  • Ensure New Integration Id. This step calls the subprocess RAF Ensure New Line Item, which ensures that all line items have unique integration ids.

                                                  • Sync. This step calls the business service method Synchronize of the ABO Bulk Request Processing Service, which synchronizes order and quote line items in the database.

                                                  • To Set Prom Inst Id? This decision step routes the flow to Set Promotion Instance Id After Sync if promotion has been added, deleted, modified or disconnected. Otherwise, it routes the flow to Set Synched True.

                                                  • Set Promotion Instance Id After Sync. This step stamps the promotion name and promotion instance Id on line items modified because of the promotion.

                                                  • Set Synched True. This step sets the Synched flag to Y.

                                                  • Run Process Sub Process. This step calls the subprocess RAF RunProcess Driver Workflow, which fetches workflow parameters and executes the specified workflow.

                                                  • Modify Sub Process. This step calls the subprocess ABO Bulk Request - Modify Sub-Process Workflow to carry out the actions in the product offer of the action type Modify. If a quote or order structure is part of the input, it passes the structure to the subprocess for consideration when the offer is being processed; if the Is RAF flag is set to Y (identifying this as a call from a product offer, from either the UI or a Web service, rather than a call from a bulk request) the quote or order structure is taken into consideration during order generation. Instance information (quote or order structure) is only passed when this is called from a product flow, which is when RAF is set to TRUE, and not when it is passed from a bulk request flow.

                                                  • Delete Sub Process. This step calls the subprocess ABO Bulk Request - Delete Sub-Process Workflow to carry out actions in the product offer of the action code Delete. Instance information is not passed, as it is in bulk request flows. The Is RAF flag is passed to handle exceptions.

                                                  • Add Sub Process. This step calls the subprocess ABO Bulk Request - Add Sub-Process Workflow to carry out actions in the product offer of the action type New. If a quote or order structure is part of the input, it passes the structure to the subprocess for consideration when the offer is being processed; if the Is RAF flag is set to TRUE, the quote or order structure is taken into consideration during order generation. Instance information (quote or order structure) is only passed when this is called from a product flow, which is when RAF is set to TRUE, and not when it is passed from a bulk request flow.

                                                  • Sub Process Upgrade. This step calls the subprocess ABO Bulk Request - Upgrade Sub-Process Workflow to carry out actions in the product offer of the action type Upgrade. If a quote or order structure is part of the input, it passes the structure to the subprocess for consideration when the offer is being processed; if the Is RAF flag is set to TRUE, the quote or order structure is taken into consideration during order generation.

                                                  • Clear Context Row id. This step clears the details of already processed actions from the context header.

                                                  • Clear Cur Consldtd Action. This step clears the details of already processed actions from the context rowset.

                                                  • Is Order Created? This decision step routes the flow to Is Sync Needed? if an order is created. Otherwise, it routes the flow to Return to same view.

                                                  • Is Sync Needed? This decision step routes the flow to Web Call? if the synched flag is Y. Otherwise, it routes the flow to Check For Promotion and Apply.

                                                  • Check For Promotion and Apply. This step calls the subprocess RAF Check For Promotion Sub Process, which checks whether the promotion name is correct and does Apply, Disconnect, Modify or Upgrade promotion. If the workflow is called from an offer flow, the argument Instance contains an order or quote header to be used by the subprocess.

                                                  • Ensure New Line Items. This step calls the subprocess RAF Ensure New Line Item, which ensures that all Line items have unique integration ids.

                                                  • Synchronize. This step calls the business service method Synchronize of ABO Bulk Request Processing Service. Depending on the value of the input argument ProcessInMemory, this business service either synchronizes quote or order line items to the database or returns the quote or order without synchronizing to the database for in-memory processing of a product offer.

                                                  • Set Prom Inst Id? This step checks whether the line item is added, deleted, modified because of the promotion. If so, it routes the flow to Set Promotion Instance Id.

                                                  • Set Promotion Instance Id. This step stamps the promotion name and promotion instance Id on line items modified because of the promotion.

                                                  • Web Call? This decision step routes the flow to End if it is a Web service call. Otherwise, it routes the flow to Go to View.

                                                  • Go to View. This step navigates the user to Order Entry - Line Items View (Sales) or Order Entry - Network Line Items Detail View (Sales) or Quote Item Detail View or Quote Network Detail View, depending on the account type and the field Compound Product Number.

                                                  • Return to Same View. This step navigates the user back to SIS OM Customer Account Portal view.

                                                    RAF Update Recommendation Workflow

                                                    RAF Update Recommendation Workflow, shown in the following, is invoked when the user updates the Message Type field of the product offer header. It updates the Message Type field in the Recommendation business component to the same value.

                                                    RAF Update Recommendation Workflow

                                                    Workflow Description

                                                    This workflow performs the following action:

                                                    • UPDATE RECOOMENDATION RECORDS. This step calls the subprocess RAF Update Recommendation SubProcess Workflow for all the recommendation records in the Product Offer.

                                                      RAF Update Recommendation SubProcess Workflow

                                                      RAF Update Recommendation SubProcess Workflow, shown in the following. is called as a subprocess by the parent workflow RAF Update Recommendation Workflow. It updates the Message Type field of all records in Recommendation business component to match that of Product Header Message Type.

                                                      Workflow Description

                                                      This workflow performs the following action:

                                                      • Siebel Operation:0. This step performs an update operation on Recommendation records, updating the UMS Type Id and UMS Type fields.

                                                        RAF Submit Order Process Workflow

                                                        RAF Submit Order Process Workflow, shown in the following, a wrapper workflow called when the action type is Run Process and the workflow name is SIS OM Submit Order Process.

                                                        RAF Submit Order Process Workflow

                                                        Workflow Description

                                                        This workflow performs the following actions:

                                                        • Get Order Id. This step calls the method GetFieldvalue of the business service CMU External Integration Service to get the active order Id for which submit order needs to be called.

                                                        • Is Order. This decision step routes flow to Submit Order if the Account Type is Residential. Otherwise, it routes the flow to End.

                                                        • Submit Order. This step calls the workflow SIS OM Submit Order Process, passing the order Id.

                                                          RAF Create Activity Workflow

                                                          RAF Create Activity Workflow, shown in the following, creates a record in activity applet which has details of the rejected product offer. It is called if the action is the type Run Process, and the workflow name is RAF Create Activity.

                                                          RAF Create Activity Workflow

                                                          Workflow Description

                                                          This workflow performs the following actions:

                                                          • Get Field Values. This step calls the method GetFieldValue of the business service CMU External Integration Service to get values for the fields Activity Description, Activity Type and Account Id from workflow parameters defined in Product Offer.

                                                          • Insert Activity. This step inserts a record in the Action business component with the details from previous step.

                                                            RAF Product Offer Recommendation For Asset Workflow

                                                            RAF Product Offer Recommendation For Asset Workflow, shown in the following. is called when the user clicks the Recommendation menu item for assets in SIS OM Customer Account Portal view.

                                                            Workflow Description

                                                            This workflow performs the following action:

                                                            • Get Recommended Product Offers For Assets. This step calls the method RAFRaiseSignal of the business service RAF Product Offers Service, which raises the signal Product Recommendation Signal, which in turn calls RAF Recommendation Driver Workflow or Product Recommendation Driver Workflow, depending on instance type.

                                                              RAF Recommendation Driver Workflow

                                                              RAF Recommendation Driver Workflow, shown in the following is called by the Product Recommendation signal when the instance type is AssetLineItem.

                                                              RAF Recommendation Driver Workflow

                                                              Workflow Description

                                                              This workflow performs the following actions:

                                                              • Get Context. This step calls the method GetRowSetData of the Context Service business service. It uses the variable map Default Product Offer Recommendation Variable Map - Context to get the account header information.

                                                              • Get Rowset. This step calls the method GetRowSetData of the Context Service business service. It uses the variable map Default Product Offer Recommendation Variable Map - Row Set to get all asset information for the account.

                                                              • SkipProdOffer? This decision step routes flow to SkipPromRecmndation? if the SkipProdOffer flag is Y. Otherwise, it routes the flow to Get Product Recommendations.

                                                              • Get Product Recommendations. This step calls the subprocess Product Recommendation Get Recommended Products, which returns all product offers recommendations for all the assets in the account, and which also performs eligibility and compatibility checks.

                                                              • Remove Messages. If there is an exception, this step calls the method DeleteMessages of the business service Unified Messaging Service and sets the source to Product Recommendation.

                                                              • Update Messages. This step calls the method UpdateMessages of the business service Unified Messaging Service and sets the source to Product Recommendation.

                                                              • SkipPromRecmndation? This decision step routes flow to Any Recommendations if SkipPromRecmndation flag is Y. Otherwise, it routes the flow to Promotion Recommendation For Asset.

                                                              • Promotion Recommendation For Asset. This step calls the subprocess ISS Promotion Recommendation For Assets to get all promotion recommendations.

                                                              • Any Recommendations. This decision step routes flow to Any Offer? if there are no recommendations. Otherwise, it routes the flow to End.

                                                              • Any Offer? This decision step routes flow to Any Promotion? if there are no product Offer recommendations. Otherwise, it routes the flow to End.

                                                              • Any Promotion? This decision step routes flow to Build - No Recommendations Message if there are no promotion recommendations. Otherwise, it routes the flow to End.

                                                              • Build - No Recommendations Message. This step calls the method Echo of the business service Workflow Utilities to get the display message if there are no promotion and product offer recommendations.

                                                              • Load - No Recommendations Msg. This step calls the method UpdateMessages of the business service Unified Messaging Service and sets the source to Zero Recommendation.

                                                                RAF Prepare Header Sub Process Workflow

                                                                RAF Prepare Header Sub Process workflow, shown in the following, checks whether the input specifies a quote or order that must be used.

                                                                If the input specifies a quote or order to be used, it does not create a new quote or order. Instead, it checks whether the input includes a DocId. If so, it sets the value of the DocId as the value of the active quote or active order Id.

                                                                If the input does not specify a quote or order to be used or if the input does not include a DocId, then there is no active document, and the workflow calls RAF Get Active Document Workflow to create a new quote or order. If there is no active document it generates the order header for further processing without synchronizing it to the database, so there is not an empty order header created if there is a failure during processing of offer actions.

                                                                RAF Prepare Header Sub Process Workflow

                                                                Workflow Description

                                                                This workflow performs the following actions:

                                                                • Use Input Instance ? This decision step checks whether an input document must be used while processing the order or whether a new quote or order must be generated.

                                                                • Has Input DocId? This decision step checks whether the input includes a DocId. If so, the specified quote or order is used as the active quote or order.

                                                                • Get Active Doc Id. This step calls the subprocess RAF Get Active Document Workflow to get the active DocId, which is the row_id of the latest pending quote or order.

                                                                • Active Doc Id IS NULL? This decision step routes the flow to Create Header or Set Order Created flag based whether the Active Doc Id is NULL.

                                                                • Create Header. This step calls the Conditional Action Transform method of the Row Set Transformation Toolkit business service to create a quote or order header template with required fields, which is used in further processing.

                                                                • Assign Doc Id. This step calls the Echo method of Workflow Utilities business service to assign the value of DocId from the input as the Active Doc Id.

                                                                • Set Active Doc Id. This step calls the Set Profile Attribute method of the SIS OM PMT Service business service to set the Order Profile Attribute Name or Quote Profile Attribute Name to the Active Doc Id.

                                                                • Set Order Created Flag. This Step calls the Echo method of the Workflow Utilities business service to set the Order Created Flag to Y.

                                                                  RAF Prepare Actions Sub Process Workflow

                                                                  RAF Prepare Actions Sub Process Workflow, shown in the following, queries for all the actions defined for the particular product offer and sorts them into different property sets depending on the action type. It is called as a subprocess from the Prepare Actions step of the parent workflow RAF Create Document Workflow.

                                                                  RAF Prepare Actions Sub Process Workflow

                                                                  Workflow description

                                                                  This workflow performs the following actions:

                                                                  • Has Searchspec ? This decision step checks whether the input has value populated for OfferSerachSpec populated. If so, it directs the flow to Get Response Actions for Multi Offer (for more than one offer). If not, it directs the flow to Get Response Actions (for one offer).

                                                                  • Get Response Actions For Multi Offer. This step calls Query Transform method of the Row Set Transformation Toolkit business service using the value of OfferSearchSpec to query actions for multiple offers.

                                                                  • Get Response Actions. This step queries the RAF Product Offer Action business component to get all the actions defined for the product offer and the response which are not inactive. It gets the count of actions as well as building an actions property set which has details of each action.

                                                                  • Get Field Name and Value. This step calls the method GetFieldValueCMU of the business service External Integration Service to get the value of the field Prod Prom Name.

                                                                  • Is Actions > 0? This decision step routes the flow to Split User Input Actions if the actions count is greater than 0. Otherwise, it routes the flow to Return to Same View.

                                                                  • Split User Input Actions. This step calls the method Split Transform of the business service Row Set Transformation Toolkit to prepare two row sets, splitting the User Input Action row set into one row set with actions for which the Named Parameter Flag is Y, and one with actions for which the flag is N.

                                                                  • Set Context Info. This step calls the method Conditional Action Transform of the business service Row Set Transformation Toolkit to set the Account Id from the context to the value in the User Input Action row set.

                                                                  • Count Named Param Actions. This step calls the method Conditional Action Transform of the business service Row Set Transformation Toolkit to count the number of actions in User Input Action row set.

                                                                  • Is Named Action > 0. This decision step routes the flow to Web Call? if the named action count is greater than 0. Otherwise, it routes the flow to Is Process Action > 0?

                                                                  • Web Call? This decision step routes flow to Get Named Param For Web Call if it is a Web service call. Otherwise, it routes the flow to Get Named Parameter.

                                                                  • Get Named Parameter. This step calls the subprocess RAF Get Named Parameter Workflow to process the User Input Action row set.

                                                                  • Get Named Param For Web Call. This step calls the subprocess RAF Get Named Parameter For Web Call Workflow to process the User Input Action row set in the Web service call.

                                                                  • Check Named Parameter Set. This step calls the method Conditional Action Transform of the business service Row Set Transformation Toolkit to set the argument Named Parameter Set to Y, in context if it is Y in User Input Action row set. Otherwise, it sets the this argument to N.

                                                                  • Merge Actions. This step calls the method Merge Transform of the business service Row Set Transformation Toolkit to merge the Response Actions and User Input Action row sets.

                                                                  • Count Actions. This step calls the method Conditional Action Transform of the business service Row Set Transformation Toolkit to count the number of actions in the Response Actions row set.

                                                                  • Is Action After > 0? This decision step routes the flow to Set Values From Parent On Child if Action Count after is greater than 0. Otherwise, it routes the flow to Return to Same View.

                                                                  • Set Values From Parent On Child. This step calls the method SetParentActionValuesInChild of the business service RAF Product Offers Service to set the values of the child actions field based on the parent actions field values, if the child action field value is empty. In other words, if the based product is null in child, then it will get the value from the parent action.

                                                                  • Remove Child Actions with no Parent Actions. This step calls the method Conditional Action Transform of the business service Row Set Transformation Toolkit to remove actions which do not have parent action id entered from the response actions.

                                                                  • Split Actions. This step calls the method Split Transform of the business service Row Set Transformation Toolkit to prepare two row sets, the RunProcess row set with actions for which the Action Type is Runprocess, and the Actions row set for other actions.

                                                                  • Count Product Actions. This step calls the method Conditional Action Transform of the business service Row Set Transformation Toolkit to count the number of actions of type other than Run Process.

                                                                  • Product Actions > 0? This decision step routes the flow to Split Modify Actions if the product action count is greater than 0. Otherwise, it routes the flow to Is Process Action > 0?

                                                                  • Split Modify Actions. This step calls the method Split Transform of the business service Row Set Transformation Toolkit to prepare the row set Modify Actions for actions where the action type is Modify.

                                                                  • Split New and Upgrade Actions. This step calls the method Split Transform of the business service Row Set Transformation Toolkit to prepare the row set New Actions for actions where action type is New and the row set Upgrade Actions for other actions.

                                                                  • Create New Action Set. This step calls the method Conditional Action Transform of the business service Row Set Transformation Toolkit to create the New Actions row set.

                                                                  • Create Modify Action Set. This step calls the method Conditional Action Transform of the business service Row Set Transformation Toolkit to create the Modify Actions row set.

                                                                  • Create Upgrade Action Set. This step calls the method Conditional Action Transform of the business service Row Set Transformation Toolkit to create the Upgrade Actions row set.

                                                                  • Create New Actions. This step calls the method Conditional Action Transform of the business service Row Set Transformation Toolkit to fill the New Actions row set with actions of the type New.

                                                                  • Is New Action Set? This decision step routes the flow to Get New Action Set Promotion Action Code if the New Actions row set exists. Otherwise, it routes the flow to Create Modify Actions.

                                                                  • Get New Action Set Promotion Action Code. This step calls the method GetPromotionActionCode of the business service ABO Bulk Request Validation Service to get promotion action codes for the New Actions row set.

                                                                  • Create Modify Actions. This step calls the method Conditional Action Transform of the business service Row Set Transformation Toolkit to fill the Modify Actions row set with actions of the type Modify.

                                                                  • Is Modify Action Set? This decision step routes the flow to Get Modify Action SetProm Actn Code if the Modify Actions row set exists. Otherwise, it routes the flow to Create Upgrade Actions.

                                                                  • Get Modify Action SetProm Actn Code. This step calls the method GetPromotionActionCode of the business service ABO Bulk Request Validation Service to get promotion action codes for the Modify Actions row set.

                                                                  • Create Upgrade Actions. This step calls the method Conditional Action Transform of the business service Row Set Transformation Toolkit to fill the Upgrade Actions row set with actions of the type Upgrade.

                                                                  • Is Upgrade Action Set? This decision step routes the flow to Get Upgrade Action Set Prom Actn Code if the Upgrade Actions row set exists. Otherwise, it routes the flow to End.

                                                                  • Get Upgrade Action Set Prom Actn Code. This step calls the method GetPromotionActionCode of the business service ABO Bulk Request Validation Service to get promotion action codes for the Upgrade Actions row set.

                                                                  • Is Process Action > 0? This decision step routes the flow to Only RunProcess Actions if the action count is greater than 0. Otherwise, it routes the flow to Return to Same View.

                                                                  • Return to Same View. This step calls the method Echo of the business service Workflow Utilities to set return to same view to Y.

                                                                  • Only RunProcess Actions. This step calls the method Echo of the business service Workflow Utilities to set Only RunProcess Actions to Y.

                                                                    RAF Check Prepaid Balance Workflow

                                                                    RAF Check Prepaid Balance Workflow, shown in the following, is called when the action type is Run Process and the workflow name is SIS OM Submit Order Process.

                                                                    RAF Check Prepaid Balance

                                                                    Workflow Description

                                                                    This workflow performs the following actions:

                                                                    • Business Service 0. This step calls the method GetFieldValue of the business service CMU External Integration Service to get values for fields Minimum Balance Required and Exception Flag from the context.

                                                                    • Exception Flag. This decision step routes the flow to Stop 0 if Exception Flag is Y. Otherwise, it routes the flow to End.

                                                                    • Stop 0. This step displays the error message: Exception: Order failed. Offer requires customer to have a minimum balance of [&Minimum Balance Required].

                                                                      RAF Get Active Document Workflow

                                                                      RAF Get Active Document Workflow, shown in the following, gets the Id of the active document. (the row_id of the latest pending order or latest open quote). It is called as a subprocess from the Get Active Doc Id step of the workflow RAF Prepare Header Sub Process.

                                                                      RAF Get Active Document Workflow

                                                                      Workflow Description

                                                                      This workflow performs the following actions:

                                                                      • Order? This decision step routes the flow to Get Active Order if Account Type is Residential. Otherwise, it routes the flow to Get Active Quote.

                                                                      • Get Active Order. This step calls the subprocess SIS OM Active Order Sub-Process and passes it the values of Account Id and Is RAF flag.

                                                                      • Get Active Quote. This step calls the subprocess SIS OM Active Quote Sub-process and passes it the values of Account Id and Is RAF flag.

                                                                        RAF Consolidate Actions Sub Process Workflow

                                                                        RAF Consolidate Actions Sub Process Workflow, shown in the following, consolidates all actions based on the action type (other than the action type Run Process), and it groups them under one base product. It is called as a subprocess from the Consolidate Actions step of the RAF Create Document Workflow.

                                                                        Workflow Description

                                                                        This workflow performs the following actions:

                                                                        • IsNewActionSet? This decision step routes the flow to Consolidate New Actions if IsNewActionSet is not NULL. Otherwise, it routes the flow to IsModifyActionSet?

                                                                        • Consolidate New Actions. This step calls the method ConsolidateAllActions of the business service ABO Bulk Request Processing Service to consolidate all actions in new action set under one Base product.

                                                                        • IsModifyActionSet? This decision step routes the flow to Consolidate Modify Actions if IsModifyActionSet is not NULL. Otherwise, it routes the flow to IsUpgradeActionSet?

                                                                        • Consolidate Modify Actions. This step calls the method ConsolidateAllActions of the business service ABO Bulk Request Processing Service to consolidate all actions in Modify action set under one Base product.

                                                                        • IsUpgradeActionSet? This decision step routes the flow to Consolidate Upgrade Actions if IsUpgradeActionSet is not NULL. Otherwise, it routes the flow to End.

                                                                        • Consolidate Upgrade Actions. This step calls the method ConsolidateAllActions of the business service ABO Bulk Request Processing Service to consolidate all actions in Upgrade action set under one Base product.

                                                                          RAF Check For Promotion Sub Process Workflow

                                                                          RAF Check For Promotion Sub Process Workflow, shown in the following, checks whether the promotion Name is correct and applies the Apply, Disconnect, Modify or Upgrade promotion. It is called as a subprocess from the Check For Promotion and Apply Promotion steps of the RAF Create Document Workflow.

                                                                          RAF Check For Promotion Sub Process Workflow

                                                                          Workflow Description

                                                                          This workflow performs the following actions:

                                                                          • Is Field Name Prod Prom? This decision step routes the flow to Query Prod Prom Name if the field name is Prod Prom Name. Otherwise, it routes the flow to Is Prom Act Code = New?

                                                                          • Query Prod Prom Name. This step queries the business component ISS Promotion for the field name to see whether this promotion exists.

                                                                          • Does Prod Prom Exist? This decision step routes the flow to Is Prom Act Code = New? if the promotion name does not exist in the business component. Otherwise, it routes the flow to Stop 0.

                                                                          • Stop 0. This error step displays the error message, “You selected a Invalid value/values for the Promotion Creation for <prom name>. Please change your selection and submit your request again."

                                                                          • Is Prom Act Code = New? This decision step routes the flow to Get Collection if

                                                                            NewActnSetPromActnCode='New' OR ModifyActnSetPromActnCode='New'
                                                                            

                                                                            Otherwise, it routes the flow to Is Prom Act Code = Modify or Upgrade or Delete.

                                                                          • Is Prom Act Code = Modify or Upgrade or Delete? This decision step routes the flow to Get Collection for Modify or Upgrade or Delete if

                                                                            ModifyActnSetPromActnCode='Modify' OR ModifyActnSetPromActnCode='Delete' OR 
                                                                            UpgrdActnSetPromActnCode='Upgrade'. 
                                                                            

                                                                            Otherwise, it routes the flow to End.

                                                                          • Get Collection for Modify or Upgrade or Delete. This step calls the method GetCollection of the business service ABO Bulk Request Processing Service to get details of the promotion to be deleted or, in case of upgrade, to get details of the promotion to be upgraded to.

                                                                          • Is Prom Act Code = Upgrade or Delete? This decision step routes the flow to Is Prom Act Code = Upgrade? if

                                                                            ModifyActnSetPromActnCode='Delete' OR UpgrdActnSetPromActnCode]='Upgrade' 
                                                                            

                                                                            Otherwise, it routes the flow to Is Prom Act Code = Modify?

                                                                          • Is Prom Act Code = Modify? This decision step routes the flow to Modify Promotion if

                                                                            ModifyActnSetPromActnCode='Modify '. 
                                                                            

                                                                            Otherwise, it routes the flow to End.

                                                                          • Is Prom Act Code = Upgrade. This decision step routes the flow to Query Promotion Details if

                                                                            UpgrdActnSetPromActnCode]='Upgrade' 
                                                                            

                                                                            Otherwise, it routes the flow to Disconnect Promotion.

                                                                          • Query Promotion Details. This step queries business component ISS Promotion Upgrade To to get target promotion details.

                                                                          • Does Upgrade Promotion Exist. This decision step routes the flow to Disconnect Promotion if

                                                                            [&Target Promotion Id] = [&Upgrade Promotion Id]. 
                                                                            

                                                                            Otherwise, it routes the flow to Stop 1.

                                                                          • Stop 1. This error step displays the error message “You selected a Invalid value/values for the Promotion Creation for %1.Please change your selection and submit your request again."

                                                                          • Disconnect Promotion. This step calls the subprocess ABO Bulk Request - Disconnect Products & Services Process to disconnect the existing promotion from the account’s assets.

                                                                          • Modify Promotion. This step calls the subprocess ABO Bulk Request - ModifyWebService-Order to modify the existing promotion.

                                                                          • Is Prom Act Code Not Delete? This decision step routes the flow to Get Collection if

                                                                            ModifyActnSetPromActnCode='Delete ' 
                                                                            

                                                                            Otherwise, it routes the flow to End.

                                                                          • Get Collection. This step calls the method GetCollection of the business service ABO Bulk Request Processing Service to get details of the promotion, such as Prom Inst Id, Prod Prom Name, from the current instance.

                                                                          • Apply Product Promotion. This step calls the subprocess ABO Bulk Request - ApplyProductPromotion to apply the promotion change to the asset.

                                                                          • Error? This decision step routes the flow to Stop SubProcess if Err Flag is Y. Otherwise, it routes the flow to End.

                                                                          • Stop SubProcess. This error step displays the error message from the step Apply Product Promotion.

                                                                            RAF Ensure New Line Item Workflow

                                                                            RAF Ensure New Line Item Workflow, shown in the following, is a sub process that is invoked from RAF Create Document workflow. It extracts the Siebel message from the collection, stamps the Integration Id, and adds the Siebel message back to collection that would be used in the subsequent step to synchronize the row set data.

                                                                            RAF Ensure New Line Item Workflow

                                                                            Workflow Description

                                                                            This workflow performs the following actions:

                                                                            • Get Document. This step calls the Get Collection method of the ABO Bulk Request Processing Service business service to extract the Siebel message from the input property set which is used during the synchronization of the document.

                                                                            • Ensure New Line Item Integration Id. This step calls the Set Field Value method of the SIS OM PMT business service to add the Integration Id field to the Siebel message which is the output of the previous step.

                                                                            • Set Document. This step calls the AddItemtoCollection method of the ABO Bulk Request Processing business service, which adds the Siebel message from the previous step back to the collection.

                                                                              RAF RunProcess Driver Workflow

                                                                              RAF RunProcess Driver Workflow, shown in the following, is invoked whenever there is a Run Process Action Type. It takes Context, Row Set, Active Doc Id, Asset Id and Account Id as input arguments.

                                                                              RAF RunProcess Driver Workflow

                                                                              Workflow Description

                                                                              This workflow performs the following actions:

                                                                              • Fetch Workflow Parameters. This step calls the Query Transform method of the Row Set Transformation Toolkit business service to fetch the row set related to the Run Process action, querying the business component RAF Product Offer Workflow Parameters using the Action Id as the search specification.

                                                                              • Convert PS. This step calls the ConvertPS method of the RAF Product Offers business service, which is a specialized method that takes Context and the output of the previous step (that is, the Workflow Parameters row set) and merges the workflow parameters into the context which is the output.

                                                                              • Business Service 0. This step calls the GetFieldValue method of the CMU External Integration business service to extract Activity Description and Type from the context.

                                                                              • Dispatch Service. This step calls the CallPSPWorkflow method of the ISS PSP Dispatch business service, which takes Context, Row Set, Instance Name and PSPWorkflowName, which is the Workflow name defined in the Run Process Action, thus invoking the required workflow.

                                                                                RAF Get Named Parameter Workflow

                                                                                RAF Get Named Parameter Workflow, shown in the following, is called as a subprocess from the Get Named Parameter step of the RAF Prepare Actions Sub Process workflow to process the User Input Action row set.

                                                                                RAF Get Named Parameter Workflow

                                                                                Workflow Description

                                                                                • Get Named Parameter. This step calls the method Query Transform of the business service Row Set Transformation Toolkit to get the named parameters from the business component RAF Product Offer Parameters defined under the current action.

                                                                                • Get Message. This step calls the method Query Transform of the business service Row Set Transformation Toolkit to get the message from the business component UMS Type and save it in the Msg row set.

                                                                                • Set Message. This step calls the method Conditional Action Transform of the business service Row Set Transformation Toolkit to set message details on the Named Param row set from the Msg row set.

                                                                                • Setup Payload. This step calls the method Conditional Action Transform of the business service Row Set Transformation Toolkit to set up the payload for the accept and reject responses.

                                                                                • UpdateMessage. This step calls the method UpdateMessages of the business service Unified Messaging Service to the push message list to UMF Active Messages popup list applet.

                                                                                • Wait 0. This step calls the method Sleep of the business service Workflow Utilities to wait until the user clicks OK or Cancel.

                                                                                • Get Response. This step calls the GetMsgResponse method of the business service RAF Product Offers Service to get the response for the selected message in the process property Msg Response.

                                                                                • Set the Response in Payload. This step calls the method Conditional Action Transform of the business service Row Set Transformation Toolkit to the set response for each message in the response row set.

                                                                                • Split Payload. This step calls the method Split Transform of the business service Row Set Transformation Toolkit to create the Payload row set from the rows of the Response row set where the action Id is not null.

                                                                                • Set Response on Named Action. This step calls the method Conditional Action Transform of the business service Row Set Transformation Toolkit to set details of the selected message in the User Input Action row set.

                                                                                  RAF Get Named Parameter For Web Call Workflow

                                                                                  RAF Get Named Parameter For Web Call Workflow, shown in the following, is the subprocess call for named parameters that use Web services.

                                                                                  RAF Get Named Parameter For Web Call Workflow

                                                                                  Workflow Description

                                                                                  This workflow performs the following actions:

                                                                                  • Get Response From Input. This step uses the GetFieldValue method of the CMU External Integration business service to extract Action Name and Action Id from the Siebel message that is the input parameter.

                                                                                  • Get Action From Input. This step uses the GetFieldValue method of the CMU External Integration business service to extract Named Parameter Id, Upgrade Product, Component Product, Field Name, Attribute Value from the Siebel message that is the input parameter.

                                                                                  • Get Named Parameter. This step uses the Query Transform method of the Row Set Transformation Toolkit to query the RAF Product Offer Parameters business component to get the Named Parameter and User Input row sets.

                                                                                  • Get Message. This step uses the Query Transform method of the Row Set Transformation Toolkit to query the UMS Message business component to get the Msg row set.

                                                                                  • Set Message. This step uses the Conditional Action Transform method of the Row Set Transformation Toolkit to query based on the condition {Row.Name} IS NOT NULL from the output of the previous step to set the Named Parameter row set and the Msg row set as Row Set and Context respectively.

                                                                                  • Set Up Payload. To set the context and row set as the output, this step uses the Conditional Action Transform method of the Row Set Transformation Toolkit to query based on condition

                                                                                    {Row} += New(Payload", [Product Type Code] = {Row.Product Type Code} , [Account 
                                                                                    Id] = {Context.Account Id} ,[Reject Action Type] = "RuntimeEvent" , [Accept Action 
                                                                                    Type] = "RuntimeEvent" , [Reject Action Name] = "EventMethodResumeParamWflw" , 
                                                                                    [Accept Action Name] = "EventMethodResumeParamWflw" , [Base Product Name] = 
                                                                                    {Context.Base Product Name} , [Action Id] = {Context.Id} , [Named Parameter Flag] 
                                                                                    = {Context.Named Parameter Flag} , [Product Path] = {Row.Component Product Path} 
                                                                                    , [Named Parameter Type] ={Context.Named Parameter Type} , [Base Product Id] = 
                                                                                    {Context.Base Product Id} , [Field Value] = {Row.Field Value} , [Product Name]= 
                                                                                    {Row.Product Name} , [Product Id] = {Row.Product Id} , [Component Product] = 
                                                                                    {Row.Component Product} , [Name] = {Row.Name} , [Attribute Value] = {Row.Attribute 
                                                                                    Value} )
                                                                                    
                                                                                  • Get Response for Named Parameter. To obtain the Response row set, this step uses the Query Transform method of the Row Set Transformation Toolkit to query RAF Product Offer Parameters business component based on the condition

                                                                                    '[Product Offer Action Id] = ' + '"' + [&ActionId] + '" AND [Id] = ' + '"' + 
                                                                                    [&ParameterId] + '"'
                                                                                    
                                                                                  • Set the Response in Payload. This step uses Conditional Action Transform method of the Row Set Transformation Toolkit to query based on the condition {Row.Action Id} IS NOT NULL to get the Response row set and Child Response row set.

                                                                                  • Split Payload. This step uses the Split Transform method of the Row Set Transformation Toolkit to split the output row set into Payload row set and Response row set based on the condition {Row.Action Id} IS NOT NULL.

                                                                                  • Set Response on Named Action. To arrive at the row sets pertaining to conditions satisfied having User Input Action Rowset and Payload Rowset respectively, this step uses the Conditional Action Transform method of the Row Set Transformation Toolkit to query based on the conditions

                                                                                    {Row.Named Parameter Type} = LookupValue("RAF_NAMED_PARM_TYPE","Component 
                                                                                    Product") or {Row.Named Parameter Type} = LookupValue("RAF_NAMED_PARM_TYPE","Base 
                                                                                    Product") or {Row.Named Parameter Type} = 
                                                                                    LookupValue("RAF_NAMED_PARM_TYPE","Upgrade Product") or {Row.Named Parameter 
                                                                                    Type} = LookupValue("RAF_NAMED_PARM_TYPE","Field Value") or {Row.Named Parameter 
                                                                                    Type} = LookupValue("RAF_NAMED_PARM_TYPE","Domain Value").
                                                                                    

                                                                                    RAF Apply Offer To Create Order Web Workflow

                                                                                    RAF Apply Offer To Create Order Web Workflow, shown in the following, takes account, asset, and offer information and applies the offers for a residential customer to create an order. It also sends an error message as part of its output if there is an error while processing the offer. It is called while calling method ApplyOfferToCreateOrder of the Web service Product Offer Web Service.

                                                                                    RAF Apply Offer To Create Order Web Workflow

                                                                                    Workflow Description

                                                                                    This workflow performs the following actions:

                                                                                    • Has Asset Id? This decision step checks whether the input of the Web service operation ApplyOfferToCreateOrder contains AssetId. If so, it routes the flow to the step Query Asset With Asset Id. Otherwise, it routes the flow to the step Has Service Id?

                                                                                    • Has Service Id? This decision step checks whether the input of the Web service operation ApplyOfferToCreateOrder contains ServiceId. If so, it routes the flow to the step Query With Service Id. Otherwise, it routes the flow to the step Query Asset for Account Only.

                                                                                    • Query Asset With Asset Id. This step calls Query method of the business service EAI Siebel Adapter, using the Account Id and Asset Id to retrieve all the asset information for the specified account and asset.

                                                                                    • Query With Service Id. This step calls the Query method of the business service EAI Siebel Adapter, using the Account Id and Service Id to retrieve all the asset information for the specified account and service Id.

                                                                                    • Query Asset for Account Only. This step calls the Query method of business service EAI Siebel Adapter, using the Account Id to retrieve all the asset information for the specified account.

                                                                                    • IO Transformation. This step calls the method IntObjHierToPSHier of the business service IntObjHierToPSHier to transform the Input from Integration Object format to Property Set Format.

                                                                                    • Get Context. This step calls the method GetRowSetData of Context Service business service. It uses Variable Map Default Product Offer Recommendation Variable Map - Context to get the account header information.

                                                                                    • Get Rowset. This step calls the method GetRowSetData of Context Service business service. It uses Variable Map Default Product Offer Recommendation Variable Map - Row Set to get all asset information for the account.

                                                                                    • Residential Account? This decision step checks whether the account in the input of the Web service operation ApplyOfferToCreateOrder is of the type Residential. If so, it routes the flow to the step RAF Create Document Workflow. Otherwise, it routes the flow to the Stop step to set the error message.

                                                                                    • Stop. This stop step sets an error message as part of output message of the Web service operation ApplyOfferToCreateOrder, if the account is not a residential account.

                                                                                    • RAF Create Document Workflow. This step calls the subprocess RAF Create Document Workflow to apply the offer on the account, and to return the Order Id.

                                                                                    • Active Doc Id? This step verifies if the offer is successfully applied by creating an order with a non-null value for the DocId. If DocId (Order Id) is NULL, it routes the flow to the step Query Empty Order. Otherwise, it routes the flow to the step Detail Output?

                                                                                    • Detail Output? This step verifies if DetailOutput is set as Y in the input, to determine whether only the order Id or the full order structure is part of output message. If it is evaluated to TRUE, it routes the flow to the step Query Order. Otherwise, it routes the flow to Query Empty Order.

                                                                                    • Query Order. This step calls the Query method of the business service EAI Siebel Adapter by using the newly created order after applying the offer. It takes the DocId (Order Id) as input and returns the full order structure as the output that would be part of the response message to the Web service call.

                                                                                    • Query Empty Order. This step calls the Query method of the business service EAI Siebel Adapter, querying an invalid order to populate the empty value for the order message as part of response message the Web service call.

                                                                                      RAF Apply Offer To Create Quote Web Service Workflow

                                                                                      RAF Apply Offer To Create Quote Web Service Workflow, shown in the following, takes account, asset, and offer information and applies the offers for a nonresidential customer to create a quote. It also sends an error message as part of the output if there is an error while processing the offer. It is called while calling the method ApplyOfferToCreateQuote of the Web service Product Offer Web Service.

                                                                                      Workflow Description

                                                                                      This workflow performs the following actions:

                                                                                      • Has Asset Id? This decision step checks whether the input of the Web service operation ApplyOfferToCreateQuote contains the asset Id. If so, it routes the flow to the step Query Asset With Asset Id. Otherwise, it routes the flow to the step Has Service Id?

                                                                                      • Has Service Id? This decision step checks whether the input of the Web service operation ApplyOfferToCreateQuote contains the service Id. If so, it routes the flow to the step Query With Service Id. Otherwise, it routes the flow to the step Query Asset for Account Only.

                                                                                      • Query Asset With Asset Id. This step calls the Query method of the business service EAI Siebel Adapter by using the Account Id and Asset Id to retrieve all the asset information for the specified account and asset.

                                                                                      • Query With Service Id. This step calls the Query method of the business service EAI Siebel Adapter by using the Account Id and Service Id to retrieve all the asset information for the specified account and service.

                                                                                      • Query Asset for Account Only. This step calls the Query method of business service EAI Siebel Adapter by using the Account Id to retrieve all the asset Information for the specified account.

                                                                                      • IO Transformation. This step calls the method IntObjHierToPSHier of the business service IntObjHierToPSHier to transform the Input from Integration Object format to Property Set Format.

                                                                                      • Get Context. This step calls the method GetRowSetData of the Context Service business service. It uses the variable map Default Product Offer Recommendation Variable Map - Context to get the account header information.

                                                                                      • Get Rowset. This step calls the method GetRowSetData of the Context Service business service. It uses the variable map Default Product Offer Recommendation Variable Map - Row Set to get all asset information for the account.

                                                                                      • Residential Account? This decision step checks whether the account in the input of the Web service operation ApplyOfferToCreateQuote is of the type Residential. If not, it routes the flow to the step RAF Create Document Workflow. Otherwise, it routes the flow route to the Stop step to set the error message.

                                                                                      • Stop. This stop step sets the error message as part of output message of the Web service operation ApplyOfferToCreateQuote if the account is a residential account.

                                                                                      • RAF Create Document Workflow. This step calls the subprocess RAF Create Document Workflow to apply the offer on the account, and it returns the Quote Id.

                                                                                      • Active Doc Id? This step verifies if the offer is successfully applied by creating a quote with a non-null value for the DocId. If DocId (Quote Id) is NULL, it routes the flow to the step Query Empty Quote. Otherwise, it routes the flow to the step Detail Output?

                                                                                      • Detail Output? This step verifies if DetailOutput is set to Y in the input to determine whether to set only the quote Id or the full quote structure as part of output message. If it is evaluated to TRUE, it routes the flow to the step Query Quote. Otherwise, it routes the flow to the step Query Empty Quote.

                                                                                      • Query Quote. This step calls the Query method of the business service EAI Siebel Adapter by using the newly created quote after applying the offer. It takes the DocId (Quote Id) as input and returns the full quote structure as the output that will be part of the response message to the Web service call.

                                                                                      • Query Empty Quote. This step calls the Query method of the business service EAI Siebel Adapter by querying a invalid quote to populate the empty value for the quote message which will be used as part of response message the Web service call.

                                                                                        Product Offer GetProductOffer Workflow

                                                                                        Product Offer GetProductOffer Workflow, shown in the following, queries the product offer business component on ProductOfferId. It is called when calling the method GetProductOffer of the Web service Product Offer Web Service.

                                                                                        Note: For more information about the request and response messages for this workflows, see Siebel CRM Web Services Reference.
                                                                                        Product Offer GetProductOffer Workflow

                                                                                        Workflow Description

                                                                                        This workflow performs the following action:

                                                                                        • Query. This step calls the Query method of the business service EAI Siebel Adapter, using the ProductOfferId to retrieve the product offer from RAFProductOfferListIO. If the search specification is the asterisk wildcard, it returns all the offers.

                                                                                          Product Offer GetProductOfferStructure Workflow

                                                                                          Product Offer GetProductOfferStructure Workflow, shown in the following, queries the product offer business component on ProductOfferId to get the product offer structure. It is called when calling the method GetProductOfferStructure of the Web service Product Offer Web Service.

                                                                                          Note: For more information about the request and response messages for this workflows, see Siebel CRM Web Services Reference.
                                                                                          Product Offer GetProductOfferStructure Workflow

                                                                                          Workflow Description

                                                                                          This workflow performs the following actions:

                                                                                          • Query Product Offer. This step calls the Query method of the business service EAI Siebel Adapter by using the ProductOfferId to retrieve the product offer structure from RAFProductOfferStructureIO.

                                                                                            RAF Apply Multiple Offer To Create Order Web Service Workflow

                                                                                            RAF Apply Multiple Offer To Create Order Workflow, shown in the following, takes the account and a list of offer IDs to generate an order for a residential customer. The order can be generated in-memory or saved to the database based on the SaveInstance input argument.

                                                                                            This workflow is called by the ApplyMultipleOffersforOrder method of Apply Multiple Product Offers Web service. Optionally, this workflow accepts the order structure as an input argument and applies offer actions to this order structure instead of creating a new order. For existing customers, the workflow takes the Asset Id as an input argument and offers' are applied to the customer's asset.

                                                                                            Note: For more information about the Web service that calls this workflow, see Siebel CRM Web Services Reference.
                                                                                            RAF Apply Multiple Offer To Create Order Workflow

                                                                                            Workflow Description

                                                                                            This workflow performs the following actions:

                                                                                            1. Has Asset Id? This decision step checks whether the input of the Web service operation ApplyMultipleOfferToCreateOrder contains AssetId. If so, it routes the flow to the step Query Asset With Asset Id. Otherwise, it routes the flow to the step Query Asset for Account Only.

                                                                                            2. Query Asset With Asset Id. This step calls Query method of the business service EAI Siebel Adapter, using the Account Id and Asset Id to retrieve the asset Information for the specified account and asset.

                                                                                            3. Query Asset for Account Only. This step calls the Query method of business service EAI Siebel Adapter, using the Account Id to retrieve the Account details from Integration object ISS Account Instance. This step is called when Asset Id is not part of the input message of the Web service.

                                                                                            4. IO Transformation. This step calls the method IntObjHierToPSHier of the business service EAI Integration Object to XML Hierarchy Converter to transform the queried message from the previous step from Integration Object format to Property Set Format.

                                                                                            5. Get Context. This step calls the GetRowSetData method of the Context Service business service. It uses the Variable Map Default Product Offer Recommendation Variable Map - Context to get the account header information.

                                                                                            6. Get Rowset. This step calls the GetRowSetData method of the Context Service business service. It uses the Variable Map Default Product Offer Recommendation Variable Map - Row Set to get the asset information for the account.

                                                                                            7. Residential Account? This decision step checks whether the account in the input of the Web service is of the type Residential. If so, it routes the flow to the step Create SearchSpec. Otherwise, it routes the flow to the Stop step to set the error message.

                                                                                            8. Stop. This stop step sets an error message as part of output message of the Web service operation ApplyMultipleOfferToCreateOrder, if the account is not a residential account. It aborts further processing and exits the workflow.

                                                                                            9. Create SearchSpec. This step calls the CreateSearchSpec method of the RAF Product Offers Service business service, which traverses the list of offers from the input message of the web service and prepares a search expression with the offer IDs.

                                                                                            10. RAF Create Document Workflow. This step calls the subprocess RAF Create Document Workflow to process the actions for all the offers provided in the input message. If the order is generated in-memory, the subprocess returns the Order structure. If the order is saved to the database, the subprocess returns the Order ID.

                                                                                            11. Process In Memory? This step checks if the order processing is done in memory. If so, it returns the order structure as the output argument of the web service. Otherwise, it routes the flow to Active Doc Id.

                                                                                            12. Active Doc Id? This step verifies whether the offer is successfully applied by creating an order with a non-null value for the DocId. If DocId (Order Id) is NULL, it routes the flow to the step Query Empty Order. Otherwise, it routes the flow to the step Query Order.

                                                                                            13. Query Empty Order. This step calls the Query method of the EAI Siebel Adapter business service, querying an invalid order to populate the empty value for the order message as part of response message the Web service call.

                                                                                            14. Query Order. This step calls the Query method of the EAI Siebel Adapter business service to retrieve the order in SIS OM Order integration object format. It takes the DocId (Order ID) as input and returns the full order structure as the output that would be part of the response message to the Web service call.

                                                                                              RAF Apply Multiple Offer To Create Quote Web Service Workflow

                                                                                              RAF Apply Multiple Offer To Create Quote Workflow, shown in the following, takes the account and a list of offer IDs to generate a quote for a non-residential customer. This quote can be generated in-memory or saved to the database, based on the SaveInstance input argument.

                                                                                              This workflow is called by the ApplyMultipleOffersforQuote method of the Apply Multiple Product Offers Web service. Optionally, this workflow accepts the quote structure as an input argument, and offer actions are applied to the quote structure instead of creating a new quote. For existing customers, this workflow takes the Asset ID as an input argument and applies offers to the customer's asset.

                                                                                              Note: For more information about the Web service that calls this workflows, see Siebel CRM Web Services Reference.

                                                                                              Workflow Description

                                                                                              This workflow performs the following actions:

                                                                                              1. Has Asset Id ? This decision step checks whether the input of the Web service operation ApplyMultipleOfferToCreateQuote contains AssetId. If so, it routes the flow to the step Query Asset With Asset Id. Otherwise, it routes the flow to the step Query Asset for Account Only.

                                                                                              2. Query Asset With Asset Id. This step calls Query method of the EAI Siebel Adapter business service, using the Account Id and Asset Id to retrieve the asset information for the specified account and asset.

                                                                                              3. Query Asset for Account Only. This step calls the Query method of the EAI Siebel Adapter business service, using the Account Id to retrieve the Account details from Integration object ISS Account Instance. This step is called when Asset Id is not part of the input message of the web service.

                                                                                              4. IO Transformation. This step calls the IntObjHierToPSHier method of the EAI Integration Object to XML Hierarchy Converter business service to transform the queried message from the previous step from Integration Object format to Property Set Format.

                                                                                              5. Get Context. This step calls the GetRowSetData method of the Context Service business service. It uses the Default Product Offer Recommendation Variable Map - Context variable map to get the account header information.

                                                                                              6. Get Rowset. This step calls the GetRowSetData method of the Context Service business service. It uses Default Product Offer Recommendation Variable Map - Row Set variable map to get the asset information for the account.

                                                                                              7. Residential Account? This decision step checks whether the account in the input of the Web service is of the type Residential. If not, it routes the flow to the step Create SearchSpec. Otherwise, it routes the flow to the Stop step to set the error message.

                                                                                              8. Stop. If the account is a residential account, this stop step sets an error message as part of output message of the ApplyMultipleOfferToCreateQuote Web service operation. It aborts further processing and exits the workflow.

                                                                                              9. Create SearchSpec. This step calls the CreateSearchSpec method of the RAF Product Offers Service business service, which traverses the list of offers from the input message of the Web service and prepares a search expression with offer IDs.

                                                                                              10. RAF Create Document Workflow. This step calls the subprocess RAF Create Document Workflow to process the actions for all the offers provided in the input message. If the quote is generated in-memory, the subprocess returns the Quote structure. If the quote is saved to the database, the subprocess returns the Quote ID.

                                                                                              11. Process In Memory? This step checks if the quote processing is done in memory. If so, it returns the quote structure as the output argument of the web service. Otherwise, it routes the flow to Active Doc Id.

                                                                                              12. Active Doc Id? This step verifies whether the offer is successfully applied by creating an quote with a non-null value for the DocId. If DocId (Quote Id) is NULL, it routes the flow to the step Query Empty Quote. Otherwise, it routes the flow to the step Query Quote.

                                                                                              13. Query Empty Quote. This step calls the Query method of the EAI Siebel Adapter business service, querying an invalid quote to populate the empty value for the quote message as part of response message the Web service call.

                                                                                              14. Query Quote. This step calls the Query method of the EAI Siebel Adapter business service to retrieve the order in SIS OM Quote integration object format. It takes the DocId (Quote Id) as input and returns the full quote structure as the output that would be part of the response message to the Web service call.