com.ibm.retail.saf.provider
Interface SalesProvider

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

public interface SalesProvider
extends POSProvider

Accepts requests from a client application to process transactions on a point-of-sale system.

The SalesProvider extends the POSProvider interface to provide an API to process and tender sales transactions through the point-of-sale system.


Method Summary
 com.ibm.retail.saf.provider.SalesTransaction makeSalesTransaction()
          Sends a request to the point-of-sale system to create a new sales transaction.
 
Methods inherited from interface com.ibm.retail.saf.provider.POSProvider
getPOSStatus, isPOSActive, release
 

Method Detail

makeSalesTransaction

public com.ibm.retail.saf.provider.SalesTransaction makeSalesTransaction()
                                                                  throws TransactionInProgressException,
                                                                         RecoveryException,
                                                                         java.rmi.RemoteException,
                                                                         POSException
Sends a request to the point-of-sale system to create a new sales transaction.

This method provides a means to submit a request to the point-of-sale system to initiate processing of a normal sales transaction.

The point-of-sale system will process the request and will return a SalesTransaction object if no exceptions occur. If the processing is unsuccessful, an exception is thrown detailing the error condition.

If a transaction is successfully created on the POS and no exceptions are thrown, the SalesTransaction object returned to the client is used to perform the item sales, tender the payment, and confirm the operation.

If the POS is not able to receive and process the request, an exception is thrown which details the error condition.

The SalesTransaction must be completed and confirmed before subsequent provider methods may be called. A SalesTransaction that can not be completed due to exceptions must be cancelled to allow a new transaction to be started.

Only a single transaction can be active for an instance of a SalesProvider. Additional SalesProvider instances are need to provide the capability to process more than one transaction simultaneously.

Returns:
active transaction 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