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

See also

Dialog service

Site service service

Customer order functionality