Quote request components can be added to the Core Commerce checkout workflow. Once a customer has added all of the items to their shopping cart, a quote request is made for the entire order. The quote request feature requires that the customer has added all of their items to the cart and has entered both billing and shipping information.

The steps for requesting a quote go through the following workflow:

Request Quote Pipeline

As outlined in the Quote Form Handler section, the requestQuote method is called when requesting a quote. This in turn calls the OrderManager, which uses the PipelineResult requestQuote helper method to provide support for invoking the requestQuote pipeline chain.

This pipeline chain first calls the RunValidateQuoteChain, which calls the validateQuote pipeline, which in turn calls the ValidateOrderForQuote component. This component initiates the ProcValidateOrderForCheckout processor, which validates the order to ensure that there are items in the shopping cart, and that shipping and payment groups are included. It also validates that the order is not already quoted. If validation is unsuccessful, the processor issues an error.

Once the order has been validated, the requestQuote pipeline initiates the PrepareForQuoteRequest component, which is used during both quote and requote requests. This component uses the ProcPrepareForQuoteRequest processor to create a new quoteInfo repository item by calling the OrderTools.createQuoteInfoItem method. It then sets the values for the requestDate and requesterNote properties and adds the values to the order. The order status is then set to PENDING_QUOTE. Note that an order may have the PENDING_QUOTE status several times as a quote may go through several stages of negotiation before either being accepted or rejected.

If no errors occur in the pipeline, the order is sent for quotation and a new shopping cart is generated for the customer. For additional information on working with orders, refer to the Configuring Purchase Process Services section.

At this point, the validated quote is added to the requestQuote pipeline’s property map. It is from this map that custom processors can access the quote. A custom processor must be added to the chain that passes the quote to the third-party quoting system.

Pricing and Quotes

Pricing information is stored and sent to the quoting system as part of the order. Pricing for the quote is stored using priceInfo objects, as described in the Price Holding Classes section.

Quote orders are restricted for pricing. Once a quote request has been made, there are only two changes that can be made to the request: Tax calculations and price adjustments made during your quoting process. Changes to shipping or payment information, or price changes due to promotions or other price list actions are not accepted.

During the quoting process, the PricingTools class isOrderRestrictedForPricing method checks the state of an order to identify if the order pricing is restricted. If the order is in the QUOTED state, or in a SUBMITTED state that contains a value other than null in the quoteInfo property, the method returns true and the order is restricted for repricing.

For detailed information on preventing the repricing of an order, refer to the Preventing Repricing of an Order section.

Re-Pricing Orders During a Quote Request

In some instances, you may want to clear quote-specific pricing information from an order that is in the PENDING_QUOTE state. The /atg/commerce/orcer/processor/ClearQuotePricingInformation component uses the ProcClearQuotePricingInformation processor to clear pricing information.

Once the order has been repriced, it will contain only pricing adjustments that are made by the normal pricing operation.

Note: Orders that are in the QUOTED state cannot be cleared, as described earlier.

By default, this processor is not added to any of the quote pipeline chains. If you wish to use this processor to do things such as reflect an items latest pricing and remove promotions, you must add this processor to the requestQuote pipeline chain.

This processor can also be added to the completeQuote pipeline when submitting a quote to the customer to clear all previous discounts before applying new adjustments. Refer to the Submit a Quote to the Customer section for information on the completeQuote pipeline.

For detailed information on the quote pipelines, refer to the Appendix E: Pipeline Chains section.


Copyright © 1997, 2016 Oracle and/or its affiliates. All rights reserved. Legal Notices