[url removed, login to view] is made on Magento, it uses simple product with custom options.
When a customer selects the eye frame, he can select the different options like:
Vision: Distance, Reading, Bifocal, Progressive
Package: Bronze, Silver, Gold, Platinum
Tinting: Transition Grey, Transition Brown, ....
All these options are added as custom option for the eye frame.
We plan to change it and make it a Bundled Products where Eyeframe, Distance, Reading, Bifocal, Progressive, Bronze, Silver, Gold, Platinum.... are simple products not shown individually and are added in 1 bundled product.
Product listing page template like - www.coastal.com. Vision Selection -> Prescription -> Package (based of prescription like [url removed, login to view]) -> Tint -> Coating -> CART using Bundled Products where Eyeframe, Distance, Reading, Bifocal, Progressive, Bronze, Silver, Gold, Platinum.... are simple products not shown individually and are added in 1 bundled product.
The prescription page is loaded inside every product when attribute "select lens = yes", when customer enters a prescription it saves it in "prescription" table and then in "sales_flat_quote_item" table the prescription ID is added. Once the order is generated prescription ID is added in "customer" table if logged in and "sales_flat_order_item" table. Prescription Functionality also pulls all old prescription for the customer, we already have the Rx module have to integrate it properly (with proper database integration currently has some issues as it relates with product sku but should relate with the item ID in the sales_flat_quote_item table)
If user selects prism in his prescription $19 will be added in the total ( to implement this we can add a simple product prism in each bundled product), on selection of prism in prescription it could be selected also.
Prescription module has the basic validation working perfectly, but on entering PD (pupillary distance) we will have another validation to check maximum PD and minimum PD the frame can accommodate. (check [url removed, login to view] enter a high PD of 75 when ordering) The "Maximum PD" and "Minimum PD" will be attributes for each eyeglass frame, if it cannot accommodate PD entered by customer it will give them link to product listing page which can accommodate PD (Simple layered navigation filter).
Vision Selection -> Prescription -> Package (based of prescription) -> Tint -> Coating ADD TO CART
Based on Prescription means that each package which is a simple product will have attributes set - "Maximum Sphere", "Minimum sphere", "Maximum Cylinder" and "Minimum Cylinder". According to which it will be enabled like in [url removed, login to view] after checking if the sphere and cylinder value are in the range as entered in the prescription form. Description and content for packages... and also vision, tint, coating can be pulled from their product descriptions.
Each Bundled product even if it has "same simple products options selected" should be listed separately in the cart and not joined with quantity, as the user may want the same product with different prescription.