1.   Name

Request quote: Buyer requests quote for products from a Supplier.

2.   Actors

 Buyer

Role that requests a quote from the supplier

Supplier

Role that provides products / services for the Buyer to purchase directly, potentially aggregating products from one or more manufacturers.

Manufacturer

Role that makes one or more products that are covered in a request for quotation from the Buyer. The Manufacturer role does not have a direct relationship with the Buyer.

 

3.   Description

The request quote from Supplier use case describes a situation where a Supplier and one or more Manufacturers collaborate to provide pricing and availability on a set of products requested by the Buyer. From a web services choreography perspective, the use case illustrates some of the key features that must be accounted for in the choreography, including:

The use case also demonstrates a basic flow of interaction between two web services: negotiate contract, negotiate interface, exchange data, execute transaction, and return results.

Figure 1: Interaction between services

4.   Preconditions

Supplier has a defined interface for quoting items it supplies to Buyers.

Buyer knows Supplier item identifiers for items requested for quotation.

Metadata required to negotiate contract is known by the Supplier, and available to the Buyer.

5.   Triggering Event(s)

Buyer has list of products for which a quote is to be requested, and the product identifiers are understandable by the supplier.

6.   Postconditions

Buyer receives a quote for products requested from supplier, including pricing and availability.

Quote conforms to contract specifications.

Contract specifications are saved by Supplier and Buyer.

Supplier has commitments to receive product from Manufacturer(s), per Buyer’s requirements.

7.   Flow of Events

7.1.        Basic Flow (Primary Scenario)

In the primary scenario, the contractual relationships between Supplier and Manufacturer roles are already in place.

7.1.1.               Flow steps

1.      Buyer sends contract requirements to Supplier

2.      Supplier approves contract requirements for the quote, and returns approval to the Buyer. Where terms are disputed, Supplier offers counter-terms

3.      Buyer accepts contract terms returned by Supplier, and requests interface information from Supplier

4.      Supplier returns interface information to Buyer

5.      Buyer generates a quote request, conforming to Supplier’s interface specification, and submits it to Supplier

6.      Supplier determines the Manufacturers that will be used to fulfill the quote based on existing knowledge about Manufacturer(s) ability to meet Buyer specifications, creates price and availability requests for each Manufacturer, and submits them to the Manufacturer(s)

7.      Manufacturer(s) provide price and availability information for items in the price and availability request, and returns to Supplier

8.      The Supplier identifies whether all items requested in the quote by the Buyer have at least one Manufacturer able to deliver product. Supplier reviews responses from Manufacturer(s), determining which items to include from each Manufacturer in the response to Buyer. The Supplier builds the quote, and returns it to Buyer. The response includes items requested, items quoted, and items not quoted, price, and availability.

7.1.2.               Sequence Diagram

Figure 2: request quote event sequence

7.2.        Alternate Flow(s)

Alternate Scenario: contractual relationships between Supplier and Manufacturer roles do not exist prior to start of use case. This will be documented as a separate use case.

7.2.1.               Step 2: alternatives

The Supplier may reject one or more terms requested by the Buyer. To handle the negotiation of terms, there may be multiple request / response sequences between Buyer and Supplier.

7.2.2.               Step 5: alternatives

Buyer is unable to provide information in the format specified by the Supplier’s interface. Use case ends.

7.2.3.                Step 7: alternatives

Manufacturer is unable to commit to delivering items requested in the quote, and declines to provide price and availability for one or more items.

 

8.   Related Use Cases

For the purpose of illustrating relationships between use cases, the Supplier role is represented by the use cases, not as a separate actor as we have documented above.

Figure 3: request quote event sequence

9.   Notes / Issues

 

1.      Need to distinguish the idea of a contract between services (e.g. the equivalent of CRCs) from a legal contract.

2.      Need additional detail about what happens with the agreed to contract provisions.