One of my products, does Co-Op Advertising on Direct mail, where the Brick and Mortar businesses can all join a co-op... looks like this:
see the large postcard, that the mailman is holding?
I'm attaching two images of ones we mailed to 10,000 local addresses in Shawnee, Oklahoma.
they are 12" wide by 9" tall, so very large and stand out big in the mail boxes... and we mail to about 10,000 on those ones...
10,000 local addresses, 95% residential, 5% businesses.
Right now, I have to create a mailer like this:
13 different products for one mailer...
if I create 1000 mailers, that would be 13,000 products having to be created.
So I had an idea...
Since WHMCS already has a stock control, I could create 1 product, for the mailer, and the stock control could be how many spaces there are.
Then create a custom configuration, that I tell it how many ads there are, then name each one, like F1, F2, F3, F4, F5, etc... Like you see on the top of the group... on that link I showed you.
So when they add the product, the configuration will show them which adspaces are available, and they will HAVE to choose the one they want, but only one person can choose one. Example:
Say two people are looking at it, and the pizza business chooses F1, then the other one will not be able to choose F1, because it is already sold.
So it would need to track which ones are available.
each page load it needs to check, in case someone is checking out right before them, so that if they both add the same space, only the first one who pays, gets it.
Then I need to see it on the order, it can be added to the invoice, and the order, so I know which space they want.
The fields can all be a radio button, IF they choose qty of 1, since they can only order 1.
but if they want 2 or more spaces, then they could be checkboxes, but they have to choose how many ever the qty those added, example if they choose 3, then they must choose 3 spaces available. If they choose 2, it will tell them to pick one more. once they add 3, they cannot add anymore.
If they choose qty of 2, then they MUST choose 2 spaces, but cannot choose 3. just the number they selected of the number of spaces (qty).
the reason it would be best to put it on the configuration, because mailers have the same layouts... one layout it has 13 spots, another may be 18 spots, another 12 spots, etc, but the mailer ids are always the same layout, so it would be easy to add them to the mailers based upon the layout name, I name the configuration... makes it much, much easier.
Also, allow me to not have to create the number of products the mailer has, I could create just 1 product per mailer. so would keep the database products from being cluttered...
you can see on the current mailer I setup, how the layout is, on the top of the group...
front and back image of that layout is there.
In a nutshell:
1) I need it to check if the product has that configuration added. If it does, check their "qty" they added to the cart, show them all the available positions.
2) They MUST order the same number of spaces as their qty of the main product is. No More, no less. the same EXACT Number.
3) Once they pay, it must mark those adspace positions as sold, so not available.
Each page load before they pay should check again, the ones they selected in case someone ordered it just before they could pay for it, if so, then it needs to bring them back to choose from the ones available. If they selected 2 or more positions and there is now only 1 available, it should tell them you had to change the qty to 1 and change it, because there is only 1 left. if none are available anymore, it should tell them that it is now sold out and sorry. So don't let them checkout anymore, because available qty is now 0.
4) Also once they pay, I need to be able to see what adspace(s) they selected. so I can have my designer create the ad for that position for them, to do the fulfillment, so it should put it in the admin so I can see it, also, put it on the invoice, so they are reminded of the adspaces they chose. Example: Adspaces selected: F1, B2, B5
The configuration must check the qty, because that is how many total spaces there are. The names of the positions, I will need to add when I create the configuration. So each product that uses that configuration will work the same way, basing the adspaces I must name, on the qty I set in the qty fields of the stock control...
I believe my summary at the end, has everything from above, if I missed something you seen please let me know, also if you have any questions, please let me know.
Please get me your best price and timeframe. I've got quite a few other whmcs developers looking into this for me.
PS>I think the best way to do it, would be in the admin I can add "layouts" and name them. Example:
Name of Layout: MU4-v2
Number of Adspaces: [set number] (1-30 in dropdown)
[foreach "setnumber" from above] space id: _____
Then when I setup a configuration, I just choose the Name of the Layout from a drop down.
Then when I setup the product, I choose the configuration I created from that.
Then when someone adds that product that has that configuration, it will then go see which of those adspaces are available, for that product, the ones sold out will not show up, so it will only show those remaining as available. But for every page load, it needs to check again, in case someone before them paid before they could, so that way we don't get double booked adspaces.