com.ibm.retail.saf.provider
Interface PriceProvider

All Superinterfaces:
POSProvider, java.rmi.Remote
All Known Subinterfaces:
KioskPOSProvider
All Known Implementing Classes:
KioskPOSProviderImpl

public interface PriceProvider
extends POSProvider

Accepts requests to perform price inquiries on a point-of-sale system.

The PriceProvider interface extends POSProvider to provide an API to perform the following functions through the point-of-sale system:


Method Summary
 com.ibm.retail.saf.provider.PriceResult getBaseItemPrices(com.ibm.retail.saf.provider.PriceRequest priceRequest)
          Sends a request to the point-of-sale system to obtain the current unit sales price for a list of items.
 com.ibm.retail.saf.provider.TransactionResult getTransactionPrices(com.ibm.retail.saf.provider.TransactionRequest transactionRequest)
          Sends a request to the point-of-sale system to obtain the extended prices and transaction totals for an order.
 
Methods inherited from interface com.ibm.retail.saf.provider.POSProvider
getPOSStatus, isPOSActive, release
 

Method Detail

getBaseItemPrices

public com.ibm.retail.saf.provider.PriceResult getBaseItemPrices(com.ibm.retail.saf.provider.PriceRequest priceRequest)
                                                          throws RecoveryException,
                                                                 TransactionInProgressException,
                                                                 java.rmi.RemoteException,
                                                                 POSException
Sends a request to the point-of-sale system to obtain the current unit sales price for a list of items.

This method provides a means to obtain a price list for a set of items contained in the PriceRequest. Results of the inquiry are returned in the PriceResult object.

If the point-of-sale system is not able to receive and process requests, an exception is thrown which details the error condition.

Parameters:
priceRequest - contains the information for the point-of-sale to process this request
Returns:
priceResult contains the results from the point-of-sale system
Throws:
TransactionInProgressException - if there is already a transaction in progress.
RecoveryException - if the POSProvider is in an error recovery state and is unable to process this request.
POSException - if the point-of-sale system is unable to process the request. The exception wrappers the cause and provides further details on the current condition.
java.rmi.RemoteException

getTransactionPrices

public com.ibm.retail.saf.provider.TransactionResult getTransactionPrices(com.ibm.retail.saf.provider.TransactionRequest transactionRequest)
                                                                   throws TransactionInProgressException,
                                                                          RecoveryException,
                                                                          java.rmi.RemoteException,
                                                                          POSException
Sends a request to the point-of-sale system to obtain the extended prices and transaction totals for an order.

This method provides a means to determine extended prices, discounts, totals, and tax for a list of items contained in the TransactionRequest object. The results are returned in the TransactionResult object.

The TransactionRequest provided by the caller must include the item information required for the point-of-sale system to process the items and obtain prices and totals. Additional information such as customer loyalty information may also be included in the request.

Payment information is not needed to obtain prices and totals. Any payment information contained in the TransactionRequest is ignored.

The point-of-sale system will process the request and put item and transaction totals information in the TransactionResult object. If the POS is not able to receive and process the request, an exception is thrown which details the error condition.

Parameters:
transactionRequest - contains the information for the point-of-sale to process this request
Returns:
transactionResult contains the results from the point-of-sale system
Throws:
TransactionInProgressException - if there is already a transaction in progress.
RecoveryException - if the POSProvider is in an error recovery state and is unable to process this request.
POSException - if the point-of-sale system is unable to process the request. The exception wrappers the cause and provides further details on the current condition.
java.rmi.RemoteException