Transaction API
This topic describes the transaction APIs for the Integration Framework.
API
| Name | Description |
|---|---|
| IFRetailTransaction GetSaleTransaction(LogonInfo, RecordIdentifier, RecordIdentifier, RecordIdentifier) |
Get a retail transaction. Parameters:
|
| List<IFRetailTransaction> GetSaleTransactionListForDatePeriod(LogonInfo, Date, Date, string) |
Get a list of retail transactions for a specific date period. Parameters:
|
| List<IFRetailTransaction> GetSaleTransactionListForCustomerAndDatePeriodExcludingDefaultCustomers(LogonInfo, RecordIdentifier, Date, Date, string); |
Get a list of retail transactions for a specific customer, excluding default customers. Parameters:
|
| List<IFRetailTransaction> GetSaleTransactionListForDefaultCustomersAndDatePeriod(LogonInfo, Date, Date, string) |
Get a list of retail transactions for a specific period and default customers. Parameters:
|
| IFRetailTransaction GetSaleTransactionSumForDatePeriod(LogonInfo, Date, Date, string) |
Get a retail transaction which is the sum of a list of retail transactions for a specific period. Parameters:
|
| IFRetailTransaction GetSaleTransactionSumForDateAndDefaultCustomers(LogonInfo, Date, Date, string) |
Get a retail transaction which is the sum of a list of retail transactions for a specific period and default customers. Parameters:
|
| List<IFRetailTransaction> GetSaleTransactionsFromReplicationCount(LogonInfo, int) |
Get a list of retail transactions from a specific replication count. Parameters:
|
| List<IFRetailTransaction> GetRemoveTenderTransactions(LogonInfo, Date, Date, string, string) |
Get a list of retail transactions of type remove tender. Parameters:
|
| List<IFRetailTransaction> GetFloatEntryTransactions(LogonInfo, Date, Date, string, string) |
Get a list of retail transactions of type float entry. Parameters:
|
| List<IFRetailTransaction> GetTenderDeclarationTransactions(LogonInfo, Date, Date, string, string) |
Get a list of retail transactions of type tender declaration. Parameters:
|
| List<IFRetailTransaction> GetOpenDrawerTransactions(LogonInfo, Date, Date, string, string) |
Get a list of retail transactions of type open drawer. Parameters:
|
| List<IFRetailTransaction> GetEndOfDayTransactions(LogonInfo, Date, Date, string, string) |
Get a list of retail transactions of type end of day. Parameters:
|
| List<IFRetailTransaction> GetEndOfShiftTransactions(LogonInfo, Date, Date, string, string) |
Get a list of retail transactions of type end of shift. Parameters:
|
| List<IFRetailTransaction> GetBankDropTransactions(LogonInfo, Date, Date, string, string) |
Get a list of retail transactions of type bank drop. Parameters:
|
| List<IFRetailTransaction> GetBankDropReversalTransactions(LogonInfo, Date, Date, string, string) |
Get a list of retail transactions of type bank drop reversal. Parameters:
|
| List<IFRetailTransaction> GetSafeDropTransactions(LogonInfo, Date, Date, string, string) |
Get a list of retail transactions of type safe drop. Parameters:
|
| List<IFRetailTransaction> GetSafeDropReversalTransactions(LogonInfo, Date, Date, string, string) |
Get a list of retail transactions of type safe drop reversal. Parameters:
|
Business objects
The following business objects are used by the transaction API.
| Name | Description |
|---|---|
| BeginDateTime | The start date and time of the transaction. |
| EndDateTime | The end date and time of the transaction. |
| EntryStatus | The status of the transaction (e.g. normal, voided, concluded etc.) |
| IncomeExpenseAmounts | The total amount of income and expense accounts in the transaction. |
| MarkupItem | The markup information for the transaction. |
| NetAmount | The total net amount(gross amount minus discounts) excluding tax. |
| NetAmountWithTax | The total net amount(gross amount minus discounts) including tax. |
| NoOfItems | Number of items in the transaction - the total quantity. |
| Oiltax | The total calculated oil tax amount for the fuel items. |
| Payment | The total payment including the vat. |
| RoundingDifference | Rounding difference between summed up item lines and what the customer should be charged. |
| RoundingSalePmtDiff | Rounding difference between payment and sales amount. Sales can be 9,99 but payment can be 10. |
| SaleItems | The list of standard sale items lines in a transaction. See IFSaleLineItem. |
| SalesInvoiceAmounts | The total amount of sales invoice payments in the transaction. |
| SalesOrderAmounts | The total amount of sales orders payments in the transaction. |
| StoreCurrencyCode | The currency code of the store. |
| TenderLines | A list of tender lines (payments). See IFTenderLineItem. |
| TotalDiscount | The total discount given in this transaction excluding the line discount(tax excluded). |
| TransactionID | The id of the retail transaction. |
| TypeOfTransaction | The type of the transaction(e.g. Sales, Payment, RemoveTender, FloatEntry etc.). |
| Name | Description |
|---|---|
| ItemID | The ID of the item. |
| DepartmentID | The ID of the department. |
| ItemGroupID | The ID of the group to which the item belongs. |
| TaxGroupID | The ID of the tax group to which the item belongs. |
| Unit | The unit of measure used when the item is purchased. |
| Currency | The currency of the sales price. |
| Price | The sales price of the item. |
| NetPrice | The net sales price of the item. |
| Quantity | The quantity of the sold item. |
| DiscountAmount | The discount amount applied. |
| CostAmount | The cost amount of the sold item. |
| NetAmount | Amount excluding tax. Amount = (price-discount)*quantity. |
| DiscountAmountFromPrice | The discount amount from the price. |
| TotalRoundedAmount | The total rounded amount of the sold item. |
| CustomerDiscountAmount | The customer discount amount applied. |
| InfocodeDiscountAmount | The discount amount associated with the infocode applied. |
| CustomerInvoiceDiscountAmount | The discount amount from the customer invoice. |
| UnitQuantity | The number of items within this item i.e if item is a box of items. |
| TaxAmount | The tax amount applied to the sold item. |
| TotalDiscountAmount | The total discount amount of the sold item. |
| PeriodiclDiscountAmount | The total periodic discount given in this transaction (tax excluded). |
| WholeDiscountAmountWithTax | The whole discount amount including tax. |
| TotalDiscountAmountWithTax | The total discount amount including tax. |
| LineDiscountAmountWithTax | The line discount amount including tax. |
| PeriodicDiscountAmountWithTax | Total periodic discount given in this transaction including tax. |
| ReturnQuantity | The returned quantity of the sold item. |
| Oiltax | The total calculated oil tax amount applied for fuel items. |
| PriceUnit | The price unit. |
| NetAmountIncludingTax | The total amount including tax. amountWithTax = (priceWithTax-discountWithTax)*quantity. |
| Name | Description |
|---|---|
| TenderType | The tender type of the item. |
| Currency | The currency of the tender line item. |
| AmountTendered | The tendered amount. |
| AmountCurrency | The amount in a currency. |
| Quantity | The quantity of the item. |
| LoyaltyPoints | The points that were calculated for this specific line item. |
Examples
Getting transactions
Date is a DateTime wrapper that can be used directly in databases without causing problems with database smalldatetime variables. The Date class is defined in LSOne.Utilities.
List<IFRetailTransaction> transactions = wcfTransactionsService.GetTenderDeclarationTransactions(CreateLogonInfo(dataModel),
new Date(DateTime.Now.AddMonths(-1)), new Date(DateTime.Now));
foreach(IFRetailTransaction tr in transactions)
{
//Do something
}
In the above example we are getting all transactions of type tender declaration, from all stores, that were created from one month ago until now.
IFRetailTransaction transactionSum = wcfTransactionService.GetSaleTransactionSumForDatePeriod(CreateLogonInfo(dataModel),
new Date(DateTime.Now.AddMonths(-1)), new Date(DateTime.Now));
if (transactionSum != null)
{
//Do something
}
In the above example we are getting a transaction representing the sum of all transactions starting from one month ago until now.
