How would I make a "computer reservation system" for public computers?

RESERVATION PROCESS:

Step 1: Enter PIN at Reservation Computer

(if pin is valid go to step 2 else back to step one)

Step 2: Select SEATED or STAND UP computer
Step 3: Select OK for earliest reservation or CANCEL

(if cancel go back to Step 1)

Step 4: Go to reserved computer and enter PIN


PROCESS RULES:

rule1: you need a valib pin
rule2: you can only reserver 1 computer at a time
rule3: 2 or more people cannot have same computer reserved at the same time
rule4: you have 10 minutes to log in at computer after time of reserved
rule5: initial reservation last for 45 minutes
rule6: if computer has not been reserved by someone else then extend reservation time by 30 minutes 5 minutes before reservation expires
rule7: if computer has been reserved by someone else before the last 5 minutes then log off user at the end of the session


====================================


How do you make this work, like i mean REALLY work (i.e. how do i got from code to implementation)?

How do put a "counter/clock" on your screen that shows the user how much time they have left?

Also, the will be an administrator computer that can cancel/make reservations and provide realtime "reservation activity" as far as:

1. What computers are available or in use
2. Who is on what computer and who has what computer reservered
3. reservation times and total session times

Note: I will try to post a visual (floor plan) of what I am talking about!

Recommended Answers

All 7 Replies

Fasola:

We're not here to write whole piecemeal applications for you. Please post code you've designed or written yourself, and others will help you troubleshoot your code.

Fasola:

We're not here to write whole piecemeal applications for you. Please post code you've designed or written yourself, and others will help you troubleshoot your code.

I know that!

Sorry if it appeared to you that I was expecting someone to write it all for me, thats not the case

I will post my code, but my question is before I get started, "How to write a *WORKING* reservation system for public computers?"

key word WORKING, like how do you make it work in REAL LIFE, you know?

or like how do i make the code work with the computers to actually log people on and off?


i hope that clears things up!

Display is split into left and right panes.

Left pane data entry - right pane wait queue and assigment queue screens.

*'d steps are user input.
All computers have uniquely identified (like numbered with big huge digits on monitor)

1. Wait on left pane for data entry
2.* Scan/type in code on card
3.* Enter PIN
4.* Select preferences (New reservations(& sitting or standing)/Remove reservation)
5.* Submit
6. If "remove reservation" then
6.a find record in any wait queue
6.b if not found inform on left pane then reset left pane entry screen
6.c if found, remove reservation from wait/ queue, inform on left pane, then reset left pane entry screen, and update right pane queue screen
else
7. Select appropriate computer queue (depending on preferences)
8. Add record to appropriate queue
9. Refresh right pane queue screen
10. Reset left pane entry screen
11. goto 1.

Background process:

1. check if login(s) actually happened on assigned computer(s)
2. If no login in 10 minutes drop assigned queue record(s), and reopen computer(s) for assignment
3. Check all active logins from queue
3.a if logged out on assigned computer,
3.b open computer for reassignment,
3.c remove assigned queue record
4. Check for open machines
5. If open machine(s), and wait queue(s) not empty
5.a assign next queue entry(ies) to open machine(s)
5.b and remove from wait queue
6. Wait 1 minute
7. goto 1.

So you will have at least to queues - one for waiting and one for assignement of machines (not really a queue). your timing should not be a hard piece to incorporate...

Display is split into left and right panes.

Left pane data entry - right pane wait queue and assigment queue screens.

*'d steps are user input.
All computers have uniquely identified (like numbered with big huge digits on monitor)

1. Wait on left pane for data entry
2.* Scan/type in code on card
3.* Enter PIN
4.* Select preferences (New reservations(& sitting or standing)/Remove reservation)
5.* Submit
6. If "remove reservation" then
6.a find record in any wait queue
6.b if not found inform on left pane then reset left pane entry screen
6.c if found, remove reservation from wait/ queue, inform on left pane, then reset left pane entry screen, and update right pane queue screen
else
7. Select appropriate computer queue (depending on preferences)
8. Add record to appropriate queue
9. Refresh right pane queue screen
10. Reset left pane entry screen
11. goto 1.

Background process:

1. check if login(s) actually happened on assigned computer(s)
2. If no login in 10 minutes drop assigned queue record(s), and reopen computer(s) for assignment
3. Check all active logins from queue
3.a if logged out on assigned computer,
3.b open computer for reassignment,
3.c remove assigned queue record
4. Check for open machines
5. If open machine(s), and wait queue(s) not empty
5.a assign next queue entry(ies) to open machine(s)
5.b and remove from wait queue
6. Wait 1 minute
7. goto 1.

So you will have at least to queues - one for waiting and one for assignement of machines (not really a queue). your timing should not be a hard piece to incorporate...

okay i see what you're doing, what do you mean by "Display is split into left and right panes"?

and

"Left pane data entry - right pane wait queue and assigment queue screens."?


Do you know how to implement something like this, im asking because its no good me writing the code for something like this and i can't get it to actually log users on/off and keep track of time? I guess first of all i need to know how do i get the computer that is solely used to make reservation to "talk" to the other (user) computers in oder to actually assign a computer to the person who made the reservation?

Display is split into left and right panes

You will need to create two windows, or panes. They will be aligned next to each other. The following is a representation of the panes. (If you ask me what is representation, I will hunt you down and kick you. :twisted: )

/-------screen------\
|---------|---------|
|--Left---|--Right--|
|--Pane---|--Pane---|
|---------|---------|
|---------|---------|
\-------------------/

Left pane data entry - right pane wait queue and assigment queue screens

On the left side, the user has fields to fill in. The right side, is only displays the queues - such as the machine assignments, the standing computer queue waiting list, and the sitting computer queue waiting list.

Do you know how to implement something like this

Yes, I do know how to implement something like this. I just told you how. But, as alc6379 said... You actually will have to do your homework.

Here is a tip... go to your local public library, and check out how they do it. That's the place where they have those wierd portable devices not requiring electricty yet they have these blogs and content inside them. It's freaky...

Yes, I do know how to implement something like this. I just told you how. But, as alc6379 said... You actually will have to do your homework.

Here is a tip... go to your local public library, and check out how they do it. That's the place where they have those wierd portable devices not requiring electricty yet they have these blogs and content inside them. It's freaky...

Visual Aid: http://www.angelfire.com/band2/hellova/index.html


Hey I really appreciate your help!

I want to write the code myself, but I'm thinking we have different understandings of what i mean by "Implement"

[Please see Visual Aid, link is above]

What I am asking (i hope somebody understands me) is:

1. How do you get one computer to "talk" to another computer (i.e. communication between computers that will enable you to designate one computer to make reservations for other computers)?

2. How do you CONTROL the USE of a computer based on TIME (eg. after 45 minutes of use computer will automatically log off user if computer HAS been reserved by another user or extends current users session by 30 minutes if computer HAS NOT been reserved by another user)?

3. How do you put a working clock/timer on the user's screen that counts down the minutes to inform the user of how much time he/she has left in a session (kind of like a pop-up that doesn't go away aka visible at all times)?


^^^Right now those are my need to knows before I code!!!!!

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.