Structure for offer with customer prices for products

Hello everyone,

I am currently thinking about making a bubble app for generating offers for specific customers.

To summarize the function: There are several products, which have a price, stock quantity, and some other details. I’d like to generate an offer for a specific list of customers for a specific selection of these products. Therefore, I choose some products that should be included in my offer.

So far so good, but now I’d like to change the prices and the quantity in stock for the products in this specific offer for this specific list of customers.

I’m having trouble figuring out how I should design the database structure ideally. I’ve read the documentation and watched a lot of tutorial videos, but I still need a little help to get started.

I think I need at least three types: “product,” “offer,” and maybe something like “products-in-offers,” to store the changed information. And somehow they need to be interlinked, so that I can access the information and display it in one row per product.

I imagine something like this:

You hit the edit button and you can edit the price and stock. When you hit save, the changes are saved, but only for the specific offer.

Is this UI possible in
If it isn’t, how would you design it?
And can you help me find the right database structure?

Any help would be greatly appreciated.


Before I answer and put my foot in my mouth by saying something pointless (which I often do) is this what you are wanting to do?

You have a set of customers that you want to offer package deals to. The package consists of any number of products, and each one has a price specific for that customer AND a quantity you want to offer.

For example, you’d like to offer Customer A the following package:
Product 1, 3.99 each, but they can only buy 1000 (even though you have 2000 in stock)
Product 2, 1.49 each, but they can only buy 500 (even though you have 5000 in stock)
Product 3, 1.59 each, but they can only but 10 (even though you have 10,000 in stock).

And you’d like to offer Customer B the following package:
Product 1, 3.99 each, but they can only buy 100 (even though you have 2000 in stock)
Product 3, 1.99 each, but they can only but 1000 (even though you have 10,000 in stock).

Is that even close to what you’re looking for?

1 Like


thanks a lot for your interest.
It’s a little different. I try to explain it. :slight_smile:

First of all, the offer is not individual per customer, but individual per customer group and timeframe.

For example the first offer is created on monday and is valid for one week. Every product has a price and a stock. The main goal of that app would be to generate a CSV with these informations and send them to the customers.

Since the prices change weekly and you hopefully did sell some products, you need to communicate different prices and stock numbers in the next week. My idea was to copy the offer from the first week and let the user change the information.

BUT: There are different customer groups, which get different prices. So there will be several offers in the first week and respectively in the following weeks. Every customer in custumer group A gets price A. Customer group B = price B.

Besides the prices, the image of the product changes weekly, which is uploaded to the server and referenced in the CSV by URL. But it’s the same image for every customer group. So there are several information that change weekly and others that stay the same weekly. And some of them are customer group specific.

In the MVP customer are not able to buy the product throuh the app. Try to think of it as an easy way to generate a CSV just for informational purpose. The buying process will likely be via phone (it’s a long way to go, if you want to convince stubborn people…)

Hopefully this gives you a better impression of my idea. Feel free to ask as many questions as you like. I’ll do my best to explain it.