Products
From Convention Master Documentation
Products System Upgrade 2023
There is a need to make the products system a bit more flexable. two things have been requested. Product Groupings, and Product Options.
Concept
- Product Groupings
- Purpose Have a series of products (Think T-shirt) track them as individual products, but make the user interface for adding them to the cart have a Selectable T-Shirt size.
- Rules
- Products must contain round brackets ( and )
- Products must contain the same exact name when excluding the content within the ( and )
- Only one set of ( and ) is allowed.
- Example
- 1010001 - T-shirt (Small)
- 1010002 - T-Shirt (Medium)
- 1010003 - T-Shirt (Large)
- 1010004 - T-Shirt (XL)
- Product Options
- Purpose Have a single product, but allow a variety of options for a single product. For example, Instead of Backpack, we want a Backpack which has Red front and Blue straps
- Rules
- Products must contain one or more sets of [ ]
- Product UPC is added to cart, with selected options as the product name.
- Example
- 1010010 - [Red|Brown|Silver] backpack with [blue|green|black|red] straps.
- 1010011 - [Green|Blue|Black] [S|M|L|XL|2XL|3XL|4XL] t-shirt with the con logo.
Upgrade Considerations
- Kiosk
- Shopping Cart Screen
- We should Upgrade the shopping cart screen to use Ajax and use a API endpoint to accept add/removal of items to/from shopping cart.
- We should Make the interface Easier, and the "Save/Next" submit button should really just be stepping forward to the next step.
- Shopping Cart Screen
- 'Console
- Bag Stuffing Sticker
- The Bag stuffing sticker will have to change the way in which it de-duplicates items. Currently it deduplicates items based on product UPC, but we'll have to modify that to be a combination of product UPC and product name.
- Reports
- Product sales report will need to be able to use 'distinct' on the account_line_entries in order to properly obtain all the various sold configurations.
- Bag Stuffing Sticker
- DBIO
- Registrant Cart
- The registrant cart table structure will have to now store the name of the product the customer is purchasing (since the name will contain the specific product options)
- The registrant cart dbio will now have to take into consideration not just UPC but product name, when adding or removing items (for the purposes of deduplication of cart items)
- Products
- We will need to ensure that in the customer's shopping cart table, that
- Registrant Cart
- Table Structure Changes
- Registrant_Cart
- The registrant cart table structure will have to now contain the name of the product which the customer is purchasing.
- The functions that add or remove items to/from the registrant cart will need to also be able to handle the name of the product as selected by the customer.
- Registrant_Cart