Projects:Add services To Non Active Ticket/Functional Specifications
Contents |
Add services To Non Active Ticket - Functional Specifications
Overview
The aim of the project is to provide a way to add a product to a non-active ticket when the loaded ticket in the left panel doesn’t accept products.
When a product is selected in the BROWSE or in the SEARCH panel but in the left panel there is an already paid ticket, an alert dialog is shown notifying the user that the selected product cannot be added to the current active ticket.
This could be a problem when, for example, we want to add a product or service to a new or currently active ticket but the product has been located by navigating from an already paid ticket.
Constraints
- Only services linked to a product are candidates to be added to non-active tickets. Products or services not linked to a products can be added to active tickets with no restriction. This is needed for services linked to a product because we need to register the relationship between the service and the product that are sold in different tickets.
- Only products delivered in non-active tickets are candidates to add a service.
- It is not possible to link services to products that has been returned
- This functionality does not need to modify the current search functionality
- The same price rules of services must be applied independently the service is linked to a product in the same ticket or to a different non-active ticket.
Functional Requirements
New columns for the Product table
- ALLOW_DEFERRED_SELL: Boolean field available for product of type service that defines whether the service can be linked to a product in a non-active ticket or not
- DEFERRED_SELL_MAX_DAYS: Numeric field that defines in the case of services that does allow deferred sell the maximum days after the original product was sold, this service can be linked with it. If NULL, there are no date restrictions about when this service can be linked to a product. And for example 0 means the service can be linked only in the same day. 1 only one day after, ...
POS UI Elements
- New button in lines in non-active tickets that goes to the related services for the product line. This is the same button that appears in active tickets.
- Services list that appears when tapping on this button is the same as in active tickets. It does not need to be modified.
- When trying to link a service to a product, if the service does not allow deferred sell, a warning message appears. If it allows deferred sales but it is overdue (there are more days since the product sell than the DEFERRED_SELL_MAX_DAYS), Then a warning appears but there is an authorization key that allows a manager to link a service to a product even if the DEFERRED_SELL_MAX_DAYS has been surpassed.
- After the conditions of link a service to a product in a non active ticket are satisfied, the new UI for selecting the ticket to add the service appears.
- Now if a service is linked to a product in the same ticket the legend “for product ....” appears in the service line. If a service is linked to a product in a different ticket the legend “for product …. in ticket ….” must appear.
Server Side Elements
- Order Loader must be modified to support to store the relationship between services and products in different receipts. The backend database already supports to establish these kind of relationships
- Load of closed receipts must load the information of services that has products in other receipts to show the legend. “for product …. in ticket ….”.