# US 2021/0241328 A1 · Techniques and Architectures for Customizable Modular Line Item Evaluation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0241328 A1
- Document ID: US20210241328A1
- Status: Published application
- Kind: A1
- Application number: 16/779,340
- Filed: 2020-01-31
- Published: 2021-08-05
- Earliest claimed: 2020-01-31
- Assignees: salesforce.com, inc.
- Applicants: salesforce.com, inc.
- Inventors: Mitchell Christensen; Parth Vijay Vaishnav; David Clark; Wei Gao
- Web page: https://patentgrep.com/patent/US20210241328A1

## CPC

- G06Q 30/0283: Price estimation or determination
- G06F 9/54: Interprogram communication
- G06Q 30/0611: {Request for offers or quotes}
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Pluggable pricing modules with functional extension points. A plurality of pricing methods are installed with a pricing service. The pricing service has a pluggable architecture to accept pricing methods including a set of pricing functions, and one or more extension points that provide programmatic hooks within an operational flow of the pricing service to provide optional interfaces to functional modules external to the pricing service. In response to a pricing request for a sales transaction, the pricing request including a pricing resolving selected pricing method for each sales item of the one or more sales items from the plurality of pricing methods. At least one of the one or more extension points are used to call an external functional module to interact with the operational flow of the pricing service. Aggregated results are provided to the source of the pricing request.

## Claims

### Claim 1

One or more non-transitory computer-readable storage mediums having stored thereon executable computer program instructions that, when executed by one or more processors, are configurable to cause the one or more processors to perform operations comprising:
installing a plurality of pricing methods at a pricing service, the pricing service including a pluggable architecture to accept the plurality of pricing methods, each pricing method of the plurality of pricing methods including a set of pricing functions, and the pricing service further including one or more extension points comprising programmatic hooks within an operational flow of the pricing service to provide optional interfaces to functional modules external to the pricing service;
receiving, at the pricing service, a pricing request from a first client for a sales transaction including one or more sales items, the pricing request including a pricing context for each of the one or more sales items; and
performing a price calculation for the sales transaction, including:
resolving selected pricing method for each sales item of the one or more sales items from the plurality of pricing methods,
calling, via at least one of the one or more extension points, an external functional module to interact with the operational flow of the pricing service,
providing, with the pricing service, the aggregated results to the source entity.

### Claim 2 (depends on 1)

The one or more storage mediums of claim 1, wherein the plurality of pricing methods includes:
one or more standard pricing methods for use by multiple clients of a host service platform; and
one or more custom pricing methods for the first client that are to be used by the pricing service for operational flows associated with the first client.

### Claim 3 (depends on 2)

The one or more storage mediums of claim 2, wherein each pricing function of a set of pricing functions of a pricing method defines a single process within the pricing method.

### Claim 4 (depends on 3)

The one or more storage mediums of claim 3, wherein each pricing function is defined in code.

### Claim 5 (depends on 4)

The one or more storage mediums of claim 4, wherein the pricing functions of the one or more standard pricing methods are coded in a first format and the pricing functions of the one or more custom pricing functions are coded in a second format.

### Claim 6 (depends on 1)

The one or more storage mediums of claim 1, wherein the external module comprises at least one functional module residing on a host service platform for the pricing service, and at least one functional module that is external to the host service platform.

### Claim 7 (depends on 6)

The one or more storage mediums of claim 6, wherein the instructions further include instructions for applying one or more guardrails to limit operation of the one or more extensions.

### Claim 8 (depends on 1)

The one or more storage mediums of claim 1, wherein the instructions further include instructions for reporting the aggregated pricing to the first client.

### Claim 9

A system comprising:
one or more processors for processing of data;
an application programming interface (API) to receive pricing requests from one or more clients; and
a pricing service including a pluggable architecture to accept the plurality of pricing methods, each pricing method of the plurality of pricing methods including a set of pricing functions, and the pricing service further including one or more extension points comprising programmatic hooks within an operational flow of the pricing service to provide optional interfaces to functional modules external to the pricing service;
wherein, in response to receiving a pricing requests for a sales transaction from a first client, the sales transaction including one or more sales items and including a pricing context for each of the one or more sales items, the system is to perform a price calculation for each of the one or more sales items, including the system to:
resolve selected pricing method for each sales item of the one or more sales items from the plurality of pricing methods,
call, via at least one of the one or more extension points, an external functional module to interact with the operational flow of the pricing service,
provide, with the pricing service, the aggregated results to the source entity.

### Claim 10 (depends on 9)

The system of claim 9, wherein the plurality of pricing methods includes:
one or more standard pricing methods for use by multiple clients;
one or more custom pricing methods for the first client; and
at least one functional module external to the pricing service for the first client.

### Claim 11 (depends on 10)

The system of claim 10, wherein each pricing function of a set of pricing functions of a pricing method defines a single process within the pricing method.

### Claim 12 (depends on 10)

The system of claim 10, wherein the pricing engine does not have knowledge of pricing algorithms for the plurality of pricing methods.

### Claim 13 (depends on 10)

The system of claim 10, wherein an extension point of the one or more extension points may include multiple extensions.

### Claim 14 (depends on 13)

The system of claim 13 wherein at least one of the multiple extensions is external to the pricing service and at least one of the multiple extensions resides on a host platform providing the pricing service.

### Claim 15 (depends on 10)

The system of claim 10, wherein the pricing service includes one or more guardrails to limit operation of the one or more extensions.

### Claim 16

A method comprising:
installing a plurality of pricing methods at a pricing service, the pricing service including a pluggable architecture to accept the plurality of pricing methods, each pricing method of the plurality of pricing methods including a set of pricing functions, and the pricing service further including one or more extension points comprising programmatic hooks within an operational flow of the pricing service to provide optional interfaces to functional modules external to the pricing service;
receiving, at the pricing service, a pricing request from a first client for a sales transaction including one or more sales items, the pricing request including a pricing resolving selected pricing method for each sales item of the one or more sales items from the plurality of pricing methods;
calling, via at least one of the one or more extension points, an external functional module to interact with the operational flow of the pricing service; and
providing, with the pricing service, the aggregated results to the source entity.

### Claim 17 (depends on 16)

The method of claim 16, wherein the plurality of pricing methods includes:
one or more standard pricing methods for use by multiple clients;
one or more custom pricing methods for the first client; and
at least one functional module external to the pricing service for the first client.

### Claim 18 (depends on 16)

The method of claim 16, further comprising executing one or more extensions to operations by the pricing engine, the pricing engine including one or more extension points for application of the one or more extensions.

### Claim 19 (depends on 18)

The method of claim 18, further comprising applying one or more guardrails to limit operation of the one or more extensions.

### Claim 20 (depends on 16)

The method of claim 16 wherein at least one of the multiple extensions is external to the pricing service and at least one of the multiple extensions resides on a host platform providing the pricing service.
