We're selling cruise rooms available for a ship we're chartering.
Currently I have the products setup like this with variation products.
Essentially we need to list out these available room styles that all have varying max occupancies.
There could be the same kind of room that supports different max occupancy...
Category 4B Inside - max 2 people
Category 4B Inside - max 3 people
Category 4B Inside - max 4 People, etc.
Category 6A Oceanview - max 2 people, max 3, and max 4, etc.
There may be 20 rooms that can support 2, 40 rooms that support 3, 10 rooms that support 4, etc.
We need to keep track of "stock" or "availability" of these rooms.
A customer would visit our site and look at the differnet room styles, "Inside", "Oceanview", "Grand Suite", etc.
They would press button to look at the expanded product screen.
They would choose how many guests will be staying in the room.
And based on the guests amount would determine the price per person.
So for made up example:
2 guests in Oceanview would be 550 per person.
3 guests in Oceanview would be 500 per person.
4 guests in Oceanview would be 450 per person.
5 guests in Oceanview would be 400 per person.
My initial thought was going to be to create a product called "Oceanview".
It would have variations based on an attribute "Guests".
They would be variations based on max occupancy and people would buy the room that fits their group size...
But if somebody wants oceanview and only has 2 people and we're out of rooms that have max occupancy of 2 people we still want them to be able to book the rooms with 3, 4, and 5 max occupancies.
So we want this "floating" guest count that they specify and then sell them a "product" that has rooms available for that size.
So if all we have left is 20 rooms with a max occupancy of 5 people, I want them to book one of those.
If we have rooms 2 and 3's available i want those to go first and not randomly sell a 5 person room to a 2 person.
Am I making ANY SENSE?
Could anybody assist me in figuring out the best way to approach the setup of the product structure?
I'm thinking the attribute needs to be some sort of "range".
The customer chooses guests 1 - 5 and then the system needs to do the math and determine the rate for the room sort of like a bulk purchasing system.