Shuttle Service Company Website
EDIT on 10/15/2017
The owner of shuttle service company decided to close the website. To see how it works, visit https://agilesalt.net/Shuttle
http://portcanaveralshuttle.us/ is out. Simple shuttle service company website for making reservations and driver schedule management.
Stories implemented:
-
Customer can make reservation on the website.
-
Customer specifies trip information.
- One way trip takes pick up date, pick up time, pick up location, # of passengers and dropoff location.
- Pick up time is limited due to the shuttle provider's availability.
- Trip can be one way or round trip.
- Round trip takes two "one way trip" infos.
- On round trip, returning trip's pickup place is set to the dropoff location of initiating trip.
- Initiating trip must be future date. If round trip, returning date should be later than initiating trip's pick-up date.
- Customer specifies contact info: name, email and phone #.
- On the final step, customer can review the trip summary and go back to previous screen if change is needed.
- Customer pays the fee on the web using credit card.
- When reservation is made, customer gets an email with the trip summary.
- The email contains a link to cancel the reservation.
-
Customer specifies trip information.
-
Concept of Location Area
- Each location belongs to location area.
- There are two location areas at the moment: Orlando and Port Canaveral.
- One trip is always from one location area to another location area. For example, if you choose a hotel from Orlando as pick up location, drop off location is limited to Port Canaveral location.
- Round trip's initiating trip always starts with Orlando area. So if you choose round trip, pick up location shows Orlando area locations only.
- Pick up time is given by location area.
-
Concept of Availability (implemented partially but dropped off from the final release due to change request)
- Per pick up location area and pick up time, Administrator can assign availability.
- Reservation cannot be made over the availability.
- Weekend and weekday availability can be different.
-
Referrer can make reservation on the website and take referral fees.
- When referrer is logged in, Rates page shows adjusted amount.
-
When referrer creates a reservation,
- The final button is not "Confirm and Pay" but just "Confirm".
- Email is sent to the referrer's email even if the customer has given the email address. (Referrer can forward the email to the customer if needed.)
- Fee is calculated using adjusted amount. Tax is not added.
-
Administrator can manage reservations
- Administrator can see all the reservations with trip summary of each reservation.
- Administrator can leave a comment on each reservation.
- Cancelled reservations should be in red color.
-
Administrator can print driver schedules.
- Driver schedule is printed by pick up date and pick up area.
- Driver schedule shows the total number of passengers of the trip, all the passengers' pick up location and dropoff location.
- Driver schedule shows the comment of the reservation if given.
- Driver schedule shows cancelled reservation but cross-out the pick up location and name.
- Driver schedule is searchable by date range.
-
Administrator can manage referrer info.
- Administrator can see all registered users' list and give any of them an administrator and/or referrer role.
- Administrator can put Name of the registered user.
-
Administrator can configure settings.
- Configurable settings: tax rate, one way fee, round trip fee, one way referral fee, round trip referral fee, company info, rules and restrictions info
- Company Info is used in Contact page and Trip Summary.
- Rules and Restrictions info is used in Trip Summary.
-
Important activities are logged and administrator can see them.
- Activities that are logged:
- Log in, log off
- New user registration
- New reservation
- Commenting on the reservation
- Setting changes
- Role changes
- User name changes
Technology stack:
- React 0.14.2 with Flux 2.0.3
- ES6 (& ES5 partially)
- Client side: browserify, react-router, lodash, moment, babelify
- Server side #1: C#, Ninject, ValueInjecter, ELMAH, Dapper, NUnit
- Server side #2: .Net Framework 4.5, ASP.NET, MVC 5 (but really didn't use much other than basic razor view and web api)
- SQL Server 2014
comments powered by Disqus