Customer order service
All customer order and quote functionality is handled in this service that includes creating, recalling, editing and concluding a customer order.
This service uses the Site service service for stock reservation functionality when the items on the customer order should be reserved so that they are not longer part of the main inventory.
Configurations
There are no specific configurations to get the customer order functionality to work through the site service as it is a requirement for the customer orders functionality. But there are various configurations needed for the deposit payments and other parts of the customer orders to work. Please see the LS One online help topics that cover all the configurations that are necessary.
Main functionality
The customer order service has been divided into several code units with two of them having very specific functionality; one that has the generic functionality and the fourth is code that can be used to generate multiple orders for testing purposes.
Name | Description |
---|---|
ConfigurationsExistForStore | Checks if the necessary payment type configurations exist for the store (Deposit tender) |
CanBeCustomerOrder | When the Customer order and Quote operations are clicked in the POS this function is called to decide if the transaction can be a customer order or a Quote |
CreateCustomerOrder | Displays a dialog to let the user enter information about the customer order / quote and then saves the information entered for the customer order . If no deposit is to be paid a receipt is printed and the quote/customer order is cleared from the POS |
CalculateMinDeposit | Calculates the amount of the minimum deposit based on the settings. If the customer order does not accept deposits then no calculations are done |
CalculateAmountToBePaid | Calculates the amount to be paid by the customer when the customer order is being finalized. This can both be a deposit, a returned deposit, or a pickup |
CalculateAmountToBeTendered | Calculates the amount to be paid on the customer order, taking into account deposits paid and partial payments |
CustomerOrderActions | Displays the action dialog when the user clicks any payment operations |
ConcludeTransaction | When concluding the customer order this function is called to make sure the customer order information is correct and updated. Please see the comments in this function for further informaiton. This function is in the CustomerOrderService.ConcludeTransaction.cs |
DistributeMinDeposit | Distributes the minimum deposit on all the items equally |
ItemCanBeVoided | A function called from the Void item operation within the POS to decide if the item can be voided |
MarkAllRemainingItemsForPickup | Mark all items that remain on order for pickup |
PrintCustomerOrderInformation | Prints customer order / quote information receipts for a selected customer order / quote |
PrintCustomerOrder | Prints customer order / quote information receipts for a selected customer order / quote |
RecallCustomerOrder | Displays a dialog to recall either a customer order or a quote |
SaveCustomerOrder | Sets the customer order status and then saves the customer order through the Site service |
Search | Searches for customer order using the search criteria |
UpdatePaymentInformation | Updates deposit and payment infromation depending on the status of the customer order and the action being taken |
UpdateDepositInformation | Updates a set of deposit lines as paid. |
UpdateCustomerOrder | Updates information on a customer order through the site service |
UpdateStockInformation | Updates the stock reservation information for the customer order |
VoidCustomerOrder | A function called by the Void transaction operation within the POS to update the customer order accordingly |
VoidItemDeposit | After the item has already been voided the deposit needs to be marked returnable. If other items are on the customer order the deposit is distributed to the other items otherwise the user is told that a payment button needs to be clicked to return the deposits |
POS Operations
The specific customer order operations in the POS directly call the Customer order service as well as all payment operations. Here below is a list of all the operations and which functions they call
Name | Description |
---|---|
Customer order | Calls functions ConfigurationsExistForStore, CanBeCustomerOrder and CreateCustomerOrder |
Recall customer order | Calls functions ConfigurationsExistForStore and RecallCustomerOrder |
Void item | Calls functions ItemCanBeVoided and VoidItemDeposit |
Void transaction | Calls function VoidCustomerOrder |
All payment operations | Call the various calculation functions described in the above section |
Development pack
To find this service in the development pack go to DevPack\Source\Core\Common_services