Service website written in php / mysql. I am open to suggestions on how 1) the payments system and 2) the location function can be implemented. This is a UK site.
The purpose of the site is for tutors to be able to offer their time to clients. The tutors have a calender on which they can show free time slots. The clients can choose, book and pay for a slot through the website. Doesn't need to be visually great - just needs to function as I'll do all the layout and graphics.
There will be two types of account:
People offering the service - these people are offering their tuition time. We'll call them the SERVICE PROVIDERS
People looking for the service. We'll call them the CLIENTS.
They need to be able to have a public profile which displays information about them.
They need to be able to log in to an account area and change this information at any time.
Name (only their FIRST NAME will be visible to the public although they must provide their full name including MR/MRS/MS/MISS)
Date of birth (their AGE will be visible to the public)
Email address (not visible to the public)
Address (only the TOWN will be visible to the public)
Locations covered (the areas in which they can provide the service) + X number of miles - if possible it would be nice for the clients to be able to search for tutors within X miles of their postcode or location but I'm not sure how this works.
Year of qualification
Cost per hour
Telephone (3 numbers can be given)
Paypal account - this must be provided so clients can pay for tuition time when they book it.
About me (an area for them to write something about themselves. They should be able to use HTML)
Calender function - this is the most complex part for the programming. Each service provider must have a calender where they can set which days and time slots they are available. The time slots can be every hour between 6am and 10pm of every day of the week. The CLIENTS will choose and book the timeslot of their choice and this will mark the timeslot as PENDING BOOKING and eventually BOOKING CONFIRMED (when the SERVICE PROVIDER confirms it) so nobody else can book it.
Feedback system - see below
Verified - yes/no (ADMIN must verify that they are an approved tutor)
Clients have an account where they can login and their personal details are saved. They need to provide:
Date of birth
Telephone (3 numbers can be given)
Pickup address (may be different - this is the address the client will receive the tuition)
Clients can search through all public profiles for a tutor. They must be able to search using the following fields:
Locations covered (as stated, if they could search for tutors within X miles of their location, this would be helpful - but not sure if it's possible)
Age range (e.g. search for a tutor between 20 and 40 years old)
Cost per hour (e.g. search for a tutor between £10 and £20 per hour)
When a client sees a tutor they like, they must be able to book time with that tutor from the time slots that are available. They use paypal to pay for the time slots.
The system needs to check that the tutor covers the client's area (checks against the pickup address). Ideally it would be checking the number of miles between the client's postcode and the tutor's postcode but it may have to be done another way.
Once the client has paid for their tuition, the booking slot status should change to PENDING BOOKING . They get an email to say that they have a provisional booking. The tutor then gets an email that someone has made a booking - they need to log in and confirm that they accept the booking. They can see all the info about the client - name, age, address, etc. This changes the status to BOOKING CONFIRMED. If the tutor REJECTS the booking, the system needs to refund the client their money paid through paypal and send an email to the client informing them of this. If it gets to the date that the booking was made provisionally and the tutor has still not confirmed it, the system should cancel the booking and refund it automatically.
It may be necessary for the payments to all go through my paypal account, rather like scriptlance so that payments are only made to and from my account to the clients and service providers - never directly. This is probably the best idea.
The client needs to be able to leave feedback about the tutor. The system should encourage them to leave feedback after each lesson. The feedback should include:
Rate your tutor out of 5 on the following (1 = Poor 5 = Excellent)
The scores from the above and the feedback need to be kept confidential. Each tutor's profile will show an OVERALL feedback score for each area but the tutor will not be able to see who has given that feedback.
Admin needs to be able to review and delete individual feedback if they feel it is unfair or inappropriate.
I'd like the project completing in not more than 14 days.