Looking for suggestions... Product Creation with Add-On Offers... different price based on selected product?

I am creating a purchase order application.

I have a list of Packages that a customer can order.

From there, I want to give the customer the option of adding add-on offers to their order.

I can do this with static prices in an Add-Ons object, and assign those Add-Ons to the Package, but I want to be able to assign the price of each Add-On separately based on the Package when it is created.

For example, a customer goes to the site, and want to order a Package called 10Meg Internet + TV. Once they select that Package, they are offered Add-Ons such as upgrading their speed from 10Meg to 20Meg. Or upgrading their TV service to HDTV service.

Since the base price of the package differs, I would need to assign a different price to the Add-On to reflect the price different of their selected package vs the upgrade cost.

So, in the back end, when creating the Packages, I would like to be able to select what add-ons are available for that specific package, and specify the price for that add-on while I am adding the package to the system. The price of the add-on would be different for each Package, so I wouldn't think the Add-On price would be assigned directly to the add-on itself.

Just not sure how to get this done.

Just for a visual, I would have a Form to add a package to the app, then have a way to select from a list of Add-Ons, and a way to assign custom prices for each add-on for each Package.

Hope that makes sense.

There is potentially a way to create the adding automatically as sub records but I don't think you need to in this case.

My suggestion that you use a Checkbox representation on screen of a many to may relationship to the Package / Add-on table should enable the user to select multiple packages - and if the list of options in the connected field are limited to those available to the particular package chosen then it should all work. This is very difficult to explain in words I'm afraid!!

I am a member of the Knack Builders Network - so if you want any consultancy help with this please get in touch at julian@kirkness.com - and you can see my website at software.kirknessassociates.com

Or take it one step further,

Is there a way to allow a page Form/Table to add rows dynamically? Or something like a child record of a main record? Not sure of the terminology.

Since there may be tons of Add-On options available, I don't want to add in 20 Add-On Fields to the Packages Object, and some Packages only need a couple, while others need 10 or 20 options.

So, in my mind I am thinking of having a table/form that says:

Pick the Add-Ons for this Package:

Add-On 1 ____________

Add-On 1 Price _____________

[[[Click Here to Add Another Add-On]]]

Then, when the Package is created, the staff member can keep clicking the [[[Click Here to Add Another Add-On]]] button until all add-ons are needed.

But just not sure how that would line up in the Objects.

Ideas on doing it this way?

After thinking about it for a while, I am going to try adding an Add-Ons Object, but not tie a price to it.

Then, I will put Add-On fields for the Packages Object labeled Add-On 1, Add-On 2, Add-On 3, etc, assigning Add-Ons from the Add-Ons Object.

Then, for the pricing, I am thinking I could put the Add-On 1 Price, Add-On 2 Price, etc directly into the Packages Object.

Then do the calculations from there.

What do you think?


Yes you would - the only way round this would be if it could be calculated in some way but I can't think of an easy way to display this to customers if calculated.

Thanks Julian.

I currently have an Add-Ons object with all of the add-ons that could be added to the Packages.

The problem I am having is assigning a price to those add-ons for each Package separately.

For example, an add-on called 50Meg Internet could be priced differently if the selected Package already has 10Meg Internet included vs a selected Package that already has 20Meg Internet included.

If I go with the Package Add-Ons object option, would I have to have a different version of each Add-on? One for each Package since the price would be different?

Hi Jason

I think you could set this up with an Add Ons object connected to the main packages object with a many to many link. This would then allow you to say which Add Ons were avaiable for which packages. Alternatively you could have a Package Addons object which could also hold the price of the Add on for that particular Package.

In the order form, when a client selects a package you could have an Add Ons field with a many to many link to the Addons object (or Package Addons). This could be presented as a set of checkboxes. If you have the price in the display field for Addons (Something like 20Mb Upgade - $10 which would be a text formula) then you can display all the info the customer needs.

Just some thoughts...

The image above would be on the back end when creating the Package that the customer can select.

When the customer sees the Package on the front end, they will select the Package, and get the list of options available to select from, then submit their order.

The order will add up the Package Price + Sum of all add-ons selected.