I have a custom system, that's comparable to booking people on buses. What I need is some sort of tool for finding available time/date for buses, so a person afterwards manually can book a group of people on one or more buses.
I have a fixed number of buses, say 30, which all have the same amount of seats, say 50. These buses can be booked by any group of people (1-nearly infinite) for anything from an hour up to many days.
Currently I'm using a solution from TransactionSQL Cookbook from O'Reillys, which basically uses a Pivot table for each day and then chews through every bus for every single day. It works very well, but when the number if buses, seats or days in the report increases, it's no longer an optimal solution.
I feel I'm re-inventing the wheel here, there are zillion of systems like this in airlines, trains etc, so there must be some algorithms for this out there.... :-)