I think that you would need to use historical data (as your database grows)
to look at the time it takes for a table to "free up" at each site, which
might include average and standard deviation (based on a variety of factors,
including party size, time of day, day of the week, month of the year
(seasonal), events [is a band playing, etc.]). Most restaurants know this
from experience, but an unattended system will have to use logic to figure
it out and predict how long a party of 4 at 7pm on a Thursday is likely to
be "using" a table.
You probably also need a threshold value for each restaurant indicating how
long they are willing to have a person wait before being seated. Come to
think of it, you may need that for both reservations (some places you make a
reservation just to get in, and you might still wait 20 minutes to be
seated, in others you expect to be seated immediately) and walk-in clients
(who presumably will have a higher tolerance for waiting, but if the wait is
too long, they leave). Again, your ability to hit those targets 95%+ of the
time would be predicted from the historical data.
You should be able to use statistical modelling (there are software programs
that do nothing but modelling) to predict all sorts of great information
based on the historical data, if you are willing to learn some complicated
statistics. Of course, the restaurants would have to be diligent about
clocking out tables to collect good data... and at that point, you'd also
need data on the time it takes to turn over (clean) a dirty table.
I strongly second David's suggestion - unless you have worked in the
restaurant environment and already have the knowledge, go pester folks at
multiple restaurants to see how they currently process reservations to
maximize business while maintaining customer service.
"jimmy" <ja**************@tiscali.co.ukwrote in message
news:11*********************@48g2000cwx.googlegrou ps.com...
Yes thanks alot this has helped me get a little further however i had
hoped to expand on this to offer a web interface for users to book
themselves in however i guess there is no easy way to do so as it will
be near impossible to estimate what time the table will be free.
I have had an idea whereby a query finds all suitable tables as
suggested, and then all tables are searched to see if there are any
reservations made for them. If there is a table that has no
reservations then this table can be allocated or else the reservation
times are searched to find the table with a reservation that is
furthest away from the requested reservation. If there are no tables
free within an hour of requested time then the reservation will not be
made.
Does this sound like a suitable solution for an 'unattended'
reservation?