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. The way this will work is that every variation of these products will have the same product ID, but the descriptions will be unique. When a product is added to the shopping cart, and then later to the "account_line_entries" the product description will indicate the selected options at time of purchase. For this reason much consideration on reporting has to be had.
- 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