HI Gerard,

> Just to give you an idea of the involved difficulties, imagine
> a customer that phones at the arena and want to know if
> he can take a reservation one time each week for the next
> 12 weeks preferably during the wednesday evenings.
> This should not be of a real problem if the 12 wednesdays are free.
> The problem begins when some of the weeks are not free and the
> clerk must go back and forth interrogating the system to see
> where it will fit another evening to accomodate the client for all of
> his needs - IN REAL TIME PLEASE - the client is waiting at
>  the other end of the phone.

> I know how real and good is the efficiency of the paper method in such a 
case 
> but I always dreamed of some tool to explore with a
>  computer. I think REBOL could be this tool - if we could get some way to 
> connect it to some external way to enter data like a touch
>  screen can do instead of a mouse and a keyboard. In fact the three should 
> intermixed in this app.

I once knew someone who was charged a small fortune for a computer system to 
do precisely that. Absolutely crazy. Nothing could beat their two-stage wall 
chart: pencilled in for provisional bookings, inked in when confirmed.

On the other hand, it doesn't scale well.

I've worked on realtime reservations systems. Before airlines had computers, 
they had large warehouses full of telephone order takers (a 1950s call 
center). Flight details were marked on blackboards around the walls. Runners (the 
younger kids) ran back and forth updating the boards as flight details (e.g. 
seating capacity) changed.  At one point, the airlines were the binocular 
manufacturer's biggest customers. (You are sitting at a phone at one end of a 
warehouse. How else do you read a blackboard at the far end?)

The sort of data structures you need for handling the sale of time (as 
opposed to material goods) are fairly non-intuitive if you've never worked in that 
area. Read up on "temporal databases" if you want an insight into a whole new 
world, and possibly a few headaches.


The other thing that is vital with this sort of application is not just 
availability checking (have we got what they've asked for?) but also the automatic 
offering of alternatives.

In your example, the system should automatically offer these sorts of 
alternatives (assuming they are available) and sequence them in a blend of the 
customer's priorities (wednesdays are nice, but evenings are essential) and the 
company's yield management goals (we gotta take some afternoon bookings soon!)
-- 11 consecutive weds plus 1 after a gap over Thanksgiving weekend.
-- 12 consecutive thursdays starting 3 weeks after their desired date
-- 10 consecutive wednesdays late afternoons
-- 6 weeks here and 6 weeks at our sister site ten blocks away.

To rummage a database realtime for those sorts of alternatives can be very 
processor heavy. Example, suppose I wanted any 5 consecutive slots, any time of 
day, in the six months, ordered by lowest booking price, if I was to pay by 
next Tuesday -- remember your pricing may vary by the week (xmas is higher) and 
you may have specials if I book by a given date). At a quick glance, that 
looks like you have to run through almost every combination of slots that are 
available, and price them.

Getting performance for something like that is a real pig.  That's why real 
airlines (until perhaps very recently) don't use real databases. No one's got 
time for record locking and transaction rollback features and stuff like that. 
Not when you want to do 200 vague queries like the one above per a second 
across a multi-terabyte database that is being simultaneously bulk loaded with 
next year's flight inventory.


If that doesn't scare you off, then I do have in my head a design for such a 
system (though not so high performance) using REBOL and (if we have to -- but 
I'd rather not) a standard SQL database for the raw user data. It's been on 
the backburner for the past year or so, as the people who want it are nothing 
like ready. There is a chance it might be a goer later this year.

But I'm still fairly agnostic about whether REBOL is a great tool for this.

Sunanda.
-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.

Reply via email to