Approximately six page web application that would allow authorized users to change the date and time of their current existing appointment time slot to another available time slot.
"Login" page where the userid (their email address) and password are entered to login. This page also has a "I Don't have an account yet" link which would navigate to the "Registration" page and a " I Forgot my password" link to bring them to the "Reset Password" page.
"Registration" page requires that the visitor enters their first name, last name, email address, select their school from a drop down, enter their password twice and click "Register". The application checks if the email address is already used in this system and whether it is "active" or "pending activation" then if so, let the use know this and provide a "Forgot my password" link to bring them to the "Reset Password" page. If the user name (email address) does not already exist then the account is created with but is not active and an email is sent to the email address provided. The email would contain a link to "activate" the account. After the user clicks the link it would "activate" the account and then allow the user to login.
"Reset Password" page. The user would enter their email address and click "reset" and a new password that will expire in a short time is sent to the email address only if that address exists in the system already. That password has to be changed as soon as they use it to login.
"Success" page shows they have successfully changed their appointment and displays the new information and tells them that a copy has been emailed to them.
"Problem" page shows that there is a problem and they need to call "Custom Support" to fix the issue.
"Change Appointment" page is displayed after a user has successfully logged in. They are presented with the "Change Appointment" page and they are asked to enter the date and time of their current appointment. They must know this or they cannot change their current appointment. A "query" is executed the and the results are displayed that show the “row” containing their first name, last name, school name, date and time of the current appointment. Users belongs to one school. A drop down containing only available time slots for this school is available to allow the user to select a new appointment time. A button to "Apply" and make their changes permanent or to “Cancel” or to "Logout" is on this page as well.
A MySQL database will have to be created with a few tables as storage for this information and is part of this job. These tables would be used, at minimum, to store the user account information, the school information and the schedule information.