Pricing Administration Guide > Siebel Pricer Technical Reference >

Siebel Pricer Architecture


A high-level representation of the Siebel Pricing Management Architecture is shown in Figure 14. This diagram includes four key components:

  • Siebel UI/Calling Application. This is the point from which the end user requests pricing (for example, quotes and orders).
  • Pricing Data. This is the administrative business objects that store prices, costs, and adjustments.
  • Pricing Procedures. This is the centralized location for pricing policies and logic. Pricing procedures use the PSP engine to locate and apply prices and adjustments, and you can customize them for your company's business model. For details about the PSP Engine, see Siebel Order Management Infrastructure Guide.
  • Pricing Services. This is the specialized business services for generic, complex pricing algorithms (such as spread discount).
    Figure 14. Pricing Architecture

When there is a request for pricing (for example, when a user adds a product to a quote or order or selects Reprice All), the application performs the following steps, illustrated in Figure 15:

  • The end user action raises a signal, such as the CalculatePriceAll signal. A signal is a parameterized call to a business service or workflow process. For more information about signals, see Siebel Order Management Infrastructure Guide.
  • The signal calls the controlling workflow process. To continue the previous example, the CalculatePriceAll signal calls the PSP Driver Workflow process. For more information about this workflow process, see Pricing Procedures and Workflow References.
  • The controlling workflow process uses variable maps to build the Context Row Set (header information) and Line Item Row Set (line item information).
    • The variable maps that build the row sets needed for pricing are identified in the definition of the signal invoked by the end user's action. To continue the previous example, the Default Pricing Variable Map - Context and Default Pricing Variable Map - Row Set are specified as parameters to the PSP Driver Workflow process in the CalculatePriceAll Signal.
    • Variable maps build the row sets by mapping fields in the database to the variables for the row set. For more information about variable maps, see Siebel Order Management Infrastructure Guide.
  • The controlling workflow process invokes a pricing procedure.
    • The pricing procedure invoked is identified in the definition of the signal invoked by the end user's action. To continue the previous example, the Dynamic Pricing Procedure workflow is specified in the SubPSPWFName parameter to the PSP Driver Workflow process in the CalculatePriceAll Signal.
    • The controlling workflow passes the Context Row Set and Line Item Row Set to the pricing procedure. For more information about controlling workflows and pricing procedures, see Siebel Order Management Infrastructure Guide.
  • The pricing procedure applies pricing logic to the data in the row sets.
    • To continue the previous example, for each line item in the line item row set, the dynamic pricing procedure finds a starting price, executes a series of steps that may or may not adjust the net price, and outputs the final price.
    • The dynamic pricing procedure passes the transformed Row Set back to the PSP Driver Workflow process. For detailed information about pricing procedures, see Pricing Procedures and Workflow References.
  • The Context Service updates the calling object (such as the quote or order) with the adjusted prices, and those prices appear in the end user interface.
    Figure 15. Overview of How Pricing Works
Pricing Administration Guide