You are on page 1of 16

Scope of work for project

Application and website Development


For

EZ Pick-Up

November 29, 2017

Prepared by:
Business Development Team of AppShah
INDEX
1 Introduction .................................................................................................................................. 3
2 Scope of Work ............................................................................................................................... 4
2.1 Users of the App and site .......................................................................................................... 4
2.2 App Basics ................................................................................................................................. 4
2.2.1 Login Screen ...................................................................................................................... 4
2.2.1.1 Forgot Password ........................................................................................................... 5
2.2.2 Sign Up (For customers and drivers) ................................................................................. 5
2.2.3 Customer’s section............................................................................................................ 6
2.2.3.1 Landing screen .............................................................................................................. 6
2.2.3.2 Manage profile ............................................................................................................. 6
2.2.3.2.1 Basic registration (For new customers) ................................................................. 7
2.2.3.2.2 Profile Setup .......................................................................................................... 7
2.2.3.2.3 Preferences/Filters ................................................................................................ 7
2.2.3.2.4 Payout .................................................................................................................... 7
2.2.3.3 Request a Truck ............................................................................................................ 7
2.2.3.3.1 Real time GPS tracking ........................................................................................... 8
2.2.3.4 My Payment .................................................................................................................. 8
2.2.3.5 Messaging/Chat ............................................................................................................ 8
2.2.3.6 My trips ......................................................................................................................... 8
2.2.3.6.1 Upcoming trips ...................................................................................................... 9
2.2.3.6.1.1 Trip detail screen ............................................. Error! Bookmark not defined.
2.2.3.6.2 Trip history/Past trips ............................................. Error! Bookmark not defined.
2.2.3.7 My favorite drivers ........................................................ Error! Bookmark not defined.
2.2.3.8 Help ............................................................................................................................... 9
2.2.3.9 Invite people .................................................................. Error! Bookmark not defined.
2.2.3.10 My reviews and ratings (profile) ................................................................................. 9
2.2.3.11 Notifications................................................................................................................ 9
2.2.4 Driver’s section ............................................................................................................... 10
2.2.4.1 Landing screen ............................................................................................................ 10
2.2.4.2 Manage profile ........................................................................................................... 10
2.2.4.2.1 Basic registration ................................................................................................. 10
2.2.4.2.2 Profile Setup ........................................................................................................ 11
2.2.4.2.3 Payout .................................................................................................................. 11
2.2.4.3 My profile ................................................................................................................... 11
2.2.4.4 Customer request ....................................................................................................... 12
2.2.4.5 My trips ....................................................................................................................... 12
2.2.4.5.1 Upcoming trips .................................................................................................... 12
2.2.4.5.1.1 Trip detail screen .......................................................................................... 13
2.2.4.5.2 Trip history/Past trips .......................................................................................... 13
2.2.4.5.2.1 Start trip........................................................................................................ 13
2.2.4.5.2.2 Start GPS tracking ......................................................................................... 13
2.2.4.6 My payment................................................................................................................ 14
2.2.4.7 My reviews and ratings............................................................................................... 14
2.2.4.8 Messaging/Chat (Suggested) ...................................................................................... 14
2.2.4.9 Help ............................................................................................................................. 14
2.2.4.10 Invite people ............................................................................................................. 14
2.2.4.11 Notifications.............................................................................................................. 14
2.2.5 Development Technology for Apps................................................................................. 15
2.2.5.1 App compatibility........................................................................................................ 15
2.2.6 Admin Section (Web Based)............................................................................................ 15
2.2.6.1 Manage account ......................................................................................................... 15
2.2.6.1.1 Forgot Password .................................................................................................. 15
2.2.6.2 Manage Users (Driver and customer)......................................................................... 15
2.2.6.3 Manage payments ...................................................................................................... 15
2.2.6.4 View reviews and ratings ............................................................................................ 16
2.2.6.5 Manage cancellations ................................................................................................. 16
2.2.6.6 Analytics......................................................................... Error! Bookmark not defined.
2.2.7 Development technology ................................................................................................ 16
2.2.8 Browser compatibility ..................................................................................................... 16

1 Introduction
Client wants to develop a mobile application for truck pick-up. The target audience of this site and
the app is anyone and everyone who wants to move. The site and app will allow users to book
rides/trips. The users will select whether they are a driver or customer for each trip. The customer
makes an offer to the selected driver.
The drivers and customers mutually agree on the final trip price and confirm the booking. The
customer will be able to track the real-time location of the driver on the site and app. They can view
their payment history. The drivers will have the ability to view their upcoming and past trips. They can
view their payment history. They can track the real-time location of the customer. Both user types will
be able to submit reviews/ratings for each other on the site and app. They can also interact via
messages on the site and app.
The aim of this SOW document is to discuss and finalize the functionalities of the site and
application envisioned by the Client. This is a dynamic document and may go through a few rounds of
revisions in order to confirm the deliverables.

2 Scope of Work

2.1 Users of the App and site


The App and site will have the following user categories:

 Customers-These are the registered users of the app who have created an account on the
app by signing up.
 Drivers- These are the registered users of the app who have created an account on the
app by signing up.
 Administrator (Admin): The super user (owner) of the App who can control the app from
the designated admin dashboard.

2.2 App Basics

2.2.1 Login Screen

 This screen will display the app’s logo at the top.


o Note: AppShah will design the logo based on the guidelines provided by the
client.
 This screen will contain following options:
o Login
 Username (email id)
 Password
o Forgot Password
o They will be prompted to select “Driver” or Customer” option once they enter
their login credentials.
o Sign Up
 The drivers and customers will also be able to log in on the app using their Facebook
account.
 The drivers and customers will be able to login to the app using their Facebook only
after the initial information verification process is done. Once the email and other
provided information is verified, they will be able to access their profile and start
receiving the requests.

2.2.1.1 Forgot Password

 Clicking on this link user will be asked to enter the email address entered at the time of
registration.
 Once the user enters the valid email a reset password link will be sent to registered
email address.
 Clicking on this link user will be able to change the password.

2.2.2 Sign Up (For customers and drivers)

 There will be a sign-up form which will have following fields:


o Name (First, Last Name)
o Email ID
o User type:
 I am customer
 I am driver
o If driver
 Add license number
 Add vehicle make
 Add vehicle model
 Add vehicle year
 Add vehicle registration number
 Add vehicle picture
o Password
o Re-enter Password
o Hometown (City, State)
o Contact number
o User Agreement (Checkbox): On clicking, this pop-up will display the user
agreement.
o Submit (Button)
 Once the user submits all the details, an e-mail will be sent to the e-mail address of the
user, with a confirmation link. Clicking on the link will confirm the user’s registration.
Once the user clicks on the confirmation link; validation is complete.
 Also, a verification code will be sent on customer’s / driver’s contact number
 For drivers, the information will be validated and approved by the admin
 The users will also have the ability to connect their Facebook once they log in. Once they
log in, the app will ask for user's permission to fetch basic account details (First name,
last name, email id, date of birth) from the Facebook. If user declines Facebook linking
they will be prompted to reconsider by a pop-up saying “Are you sure? Without
Facebook access you will have to manual populate profile information”
 Once user is signed up to the app, the app will ask user to give access to location
services and notifications

2.2.3 Customer’s section

2.2.3.1 Landing screen

 The menus of the landing screen will be hidden. The customer will be directly routed to
"Create request" screen as soon as they log in to the app.
 They can either create a request now or choose “Later” option. Once they choose
“Later” they will be able to view the rest of the landing screen menus. The landing
screen will have following menus:
o Manage profile
 Share Itinerary
 My reviews and rating
o Request A Truck
o My Payment
o Messaging/Chat*
o My trips*
o My favorite drivers*
o Notifications*
o Toggle:
 Help
 Invite people
 On clicking, each menu the user will be directed to the respective screen.

2.2.3.2 Manage profile

 The customer will have the ability to manage (Add, edit, remove) the information
submitted while registering on the app:
o Name: The customers will not be able to use the previous name in case they are
editing their name.
o Email: The customers will not be able to edit the email ID they had provided at
the time of registration.
o Password
 They will also be able to manage (Upload, remove) their profile photo on the app.
 They will have the ability to delete their account from the app.

Note: The customers will be asked to complete their registration process. If they skip it,
they will only have “View/Read only” type of access to their dashboard.
2.2.3.2.1 Basic registration (For new customers)

o As soon as they log in to their account, the customers will be prompted to enter
the following information:
 First Name
 Last Name
 Home City (By default the app will fetch user’s current city)
 Home State (By default the app will fetch user’s current state)

2.2.3.2.2 Profile Setup

o There will be a form on this section that will collect following information:
 Date of birth
 Gender (Male/Female)
 Profile picture

Note: This form will populate the fields from Facebook as applicable.

2.2.3.2.3 Preferences/Filters

o The customers can set their preferences as:


 Vehicle make
 Vehicle model

2.2.3.2.4 Payout

o The app will use Stripe as the payment gateway and will hold driver’s payout for
a certain time duration
o The customers will automatically make payment for a booked trip 24 hours in
advance. If they fail to make payment (i.e card declined) a notification will be
sent. If issue is unfixed in 1 hour their booking will be canceled automatically. In
such case, both parties i.e. customer and driver will be notified via email,
notification.
o Bank name and account details
 Bank name
 Account number
 Credit/debit card number
 Submit (Button): Once they submit the above-mentioned details, their
bank details will be saved.

2.2.3.3 Request a Truck

 This section will display a map view.


 Customers will be prompted to enter origin and destination.
 Also, customer will be prompted to enter the weight that needs to be loaded to the
truck
 Once they enter origin and destination, they will be able to view the ride estimate.
 Once the request is accepted by the driver, customers will be able to view following
information for each ride:
o Driver’s picture
o Vehicle details
o Ratings
 Map: They will be able to view the ride route on a map.
 Customers and drivers will have the ability to tap and view the details of each other.
Before and after.
 If customer miscalculated the weights, the driver can change it on their behalf and the
app will ask customer’s confirmation before proceeding with change in weights.

2.2.3.3.1 Real time GPS tracking

o The customers will have the ability to track the driver's real-time location on the
map.
o They will be able to view total distance and the estimated time of arrival.
o If due to some reasons (Network or server specific), the real-time GPS tracking
stops, the customer will get a push notification/alarm.
o The push notification will showcase the information about the reasons (Network
or server specific).

Note:
1. We will integrate Google Maps API for the map functionality.
2. Client will bear the cost of all third party APIs
2.2.3.4 My Payment

 This section will allow the customers to manage their payment methods.
 They can set their payment method as:
o Credit card
o Strip
 The customers will also be able to view their payment history.

2.2.3.5 Messaging/Chat

 The customers will have the ability to send messages to the drivers on the app.
 App will maintain the chat logs in the app so the customers will have the ability to view
inbox and sent messages.

2.2.3.6 My trips

 This section will allow the customers to track their upcoming and past trips.
 Each record will show following information
o Origin
o Destination
o Date
o Driver name

2.2.3.6.1 Upcoming trips

o There will be a list of upcoming trips which the customers will be able to sort by
the destination and date.
o Customers can “Swipe” and view the upcoming trips.
o They will have ability to add trip name.
o The customers will be able to cancel their upcoming bookings. Before
cancellation, they will get a confirmation pop-up saying “Are you sure you want
to cancel, Y/N? They will also get a notification pop-up regarding the
cancellation policy. Customer profile includes the number of trips cancelled.
o Customer ratings may also be affected if customer cancels more than x number
of trips. Once they cancel any booking, the respective driver will be notified.
o Customer will get full refund if he cancels the ride one hour before the
scheduled time
o Since we are using Strip for payout, it will capture amount from customer’s
credit card until the ride is completed by the client. Once the ride is completed,
the amount will be transferred to drivers account

2.2.3.7 Help

 This screen will have help manual for the customers to use the app.
 The customers will be the ability to tap over fields/tabs which will provide brief
information.

2.2.3.8 My reviews and ratings (profile)

 The customer will be able to view the reviews and ratings they receive from the drivers
on the app.
 The customers will have the ability to give star ratings to the driver for the ride and
overall service.
 The Star ratings will be compulsory in order to mark a trip as complete. Both customer
and driver will have to rate each other. The star rating popup of driver and customer will
only appear when both have completed the trip & rating.
 Customers and drivers will have the option to “appeal” the admin to take off the rating
screen if seem in-appropriate

2.2.3.9 Notifications

 The customer will be able to view following types of notifications on the app:
o New Rides/customer Available
o New Offers
o Acceptance
 The customer will have the ability to set On/off the notifications on the app.

2.2.4 Driver’s section

2.2.4.1 Landing screen

 The landing screen will have following menus:


o Manage profile
 Share itinerary
o My account
o Schedule trips
o My trips
o My payment
o My reviews and ratings
o Messaging/Chat
o Notifications
o Toggle:
 Help
 Invite people
 On clicking, each menu the driver will be directed to the respective screen.

2.2.4.2 Manage profile

 The driver will have the ability to manage (Add, edit, remove) the information submitted
while registering on the app:
o Name: The drivers will not be able to use the previous name in case they are
editing their name.
o Email: The drivers will not be able to change their email IDs.
o License number
o Insurance info
o Type of vehicle
o Vehicle picture
o Password
 They will also be able to manage (Upload, remove) their profile photo on the app.
 They will have the ability to delete their account from the app.

Note: The drivers will be asked to complete their registration process. If they skip it,
they will only have “View/Read only” type of access to their dashboard.

2.2.4.2.1 Basic registration

o As soon as they log in to their account, the drivers will be prompted to enter the
following information:
 First Name
 Last Name
 City
 State

2.2.4.2.2 Profile Setup

o There will be a form on this section that will collect following information:
 Date of birth
 Gender (Male/Female)
 Profile picture
 Make/Model/Year/Picture/Color(Mandatory to schedule a trip)
 Driver’s License Number(Mandatory to schedule a trip)
 License Plate Number(Mandatory to schedule a trip)
 VIN Number(Mandatory to schedule a trip)
 Insurance Name and Number(Mandatory to schedule a trip)
 Social Security Number
Note: Ability to upload docs i.e Drivers License and Insurance Cards
o There will be a set of questionnaires that will have "Yes" or "No" options. It will
allow users to complete their profile.

Note: This form will populate the fields from Facebook as applicable.

2.2.4.2.3 Payout

o The drivers will be able to manage the payment options.


o The payout will follow the Strip’s manual payout protocol
https://stripe.com/docs/connect/payouts#using-manual-payouts
o They can select following payment options:
 Expedited Payment within 24 hours: By selecting this option, the drivers
will be able to obtain the total fare within 24 hours of the ride/trip.
There will be a fee associated with the expedited payout option. This is
the process of the driver transferring his balance on the app to his bank
account.
 Standard Payment: If they select this option, they will be able to obtain
the total fare within 5 business days. There will be no fee for the
standard payment option.

o Bank Account details:


 Account Title
 Submit (Button): Once they submit this form, their bank account details
will be saved in the system.
o Admin will have the option to adjust the commission parameters from the
admin panel

2.2.4.3 My profile

 The driver's profile will display the following information:


o Driver’s name
o Gender
o Ratings and reviews: On clicking this, a pop-up will get displayed. It will display
the top 5 ratings and reviews submitted by the customers. This will display
average overall ratings.
 There will be some fields in the profile that will be auto populated from Facebook to
populate profile i.e. DOB, pictures, name, friend list.

2.2.4.4 Customer request

 The drivers will be able to view the ride request on this screen.
 The matching will automatically happen on the basis of following:
o Current Location of the Driver
o Vehicle Preferences as submitted by the customer
 The drivers will have the ability to view the ride request details submitted by the
customer.
 The driver will also have the ability to accept / reject the ride.
 If the ride is accepted by the driver, he will have the ability to send messages to the
customers from this screen.
 They will have the ability to tap and view the profile details of each customer.

2.2.4.5 My trips

 This section will allow the drivers to track their upcoming and past trips.

2.2.4.5.1 Upcoming trips

o There will be a list of upcoming trips.


o The driver will be able to cancel their upcoming bookings.
o Drivers can “Swipe” and view the upcoming trips.
o They will have ability to add trip name.
o The driver profile will include the number of trips cancelled. Driver’s ratings
may also be affected if he/she cancels more than x number of trips. Once they
cancel any booking, the respective customer will be notified.
o Once they cancel any booking, the customers and admin will be notified via the
email/app notification. In such case, the system will automatically suggest
similar drivers for the trip.
o The driver will be able to view the following information for each trip:
 Rate
 Customer’s details
 Source address
 Destination address
o The driver and customer will get a push notification once the trip is over.
o Once the trip is over they will get a pop up to submit the rating and review for
the customer. The rating and review will be optional.
o Note: if a driver cancels upcoming booking, customer will be notified as follows:
1) if the system is unable to find new driver 2) when a new driver has been
assigned
2.2.4.5.1.1 Trip detail screen

 The drivers will be able to view the following information for each trip:
 Rate
 Profile pictures: Each trip will display the profile pictures of the
customers.
 Customer details: The drivers will have the ability to mark any
customer as their Favorite.
 Origin
 Destination
 Map: They will be able to view the ride route on a map.

 Completed upcoming trips automatically move into the past trip


section.

2.2.4.5.2 Trip history/Past trips

o There will be a list of past trips.


o The driver will be able to view the following information for each trip:
 Reviews and ratings
 Customer’s details
 Total amount
 Receipt
 Source address
 Destination address

2.2.4.5.2.1 Start trip

 The drivers will have the ability to start/stop the trip.


 There will be a “Start” tab that the driver can tap before starting
the trip/ride.
 Once the trip is over they will get a “Stop” tab which upon
clicking will stop the trip.
 The customer will get a push notification once the trip is over.

2.2.4.5.2.2 Start GPS tracking

 The drivers will have the ability to track the customer’s real time
location on the map. They will only be able to track the real-time
location of the customer only when picking up customers and during
the trip. They will not have the ability to track the customer if the trip is
over.

 They will be able to view total distance and the estimated time of
arrivals.
2.2.4.6 My payment

 The drivers will be able to view their payment history on this screen.
 They can view details for their paid and outstanding payments.
 The drivers will be able to request their payment to the admin from this screen.
 There will be two types of payment methods. The driver can opt for following:
o Weekly: Driver will receive their payments on a weekly basis.
o Monthly: The driver will receive its payment on a weekly basis.

 There will be a split payment between the admin and the driver. The percentage will be
calculated automatically by the system.
 20% will be given to the admin and 80% will be given to the driver. Admin can adjust this
percentage from the admin panel

2.2.4.7 My reviews and ratings

 The driver will be able to view the reviews and ratings they receive from the customers
on the app.
 The drivers will have the ability to give star ratings to the customer for the ride and
overall experience.
 The Star ratings will be compulsory in order to mark a trip as complete. Both customer
and driver will have to rate each other. The star rating popup of driver and customer will
only appear when both have completed the trip.

2.2.4.8 Messaging/Chat (Suggested)

 The drivers will have the ability to send messages to the customer on the app.
 The app will maintain chat logs

2.2.4.9 Help

 This screen will have help manual for the driver to use the app.

2.2.4.10 Invite people

 The driver will have the ability to invite their friends to install and register the app can
access facebook and contacts.

2.2.4.11 Notifications

 The drivers will be able to view following types of notifications on the app:
o New request
o Request cancelation
 The driver will have the ability to set On/off the notifications on the app.
 We will use AWS SNS (Simple Notification Service) for distribution of all push
notifications
 AWS SES (Eimple Email Service) for emails
 Twilio for SMS
 All third party Apis will be provided by the client

2.2.5 Development Technology for Apps

 iOS Native SDK


 Android Native SDK
 PHP – for server side coding
 MySQL for database

2.2.5.1 App compatibility

 Android Marshmallow and Nougat and above


 iOS 9,10 and above
 iOS app will be optimized for:
o iPhone SE, 6S,6S+, 7, 7+ and above

2.2.6 Admin Section (Web Based)

2.2.6.1 Manage account

 Admin will be able to change account details like username and password.

2.2.6.1.1 Forgot Password

o Clicking on this link the admin will be asked to enter the email address.
o Once the admin enters the valid email a reset password link will be sent to
registered email address.
o Clicking on the link admin will be able to change the password.

2.2.6.2 Manage Users (Driver and customer)

 Admin will be able to add and suspend/remove the registered customers from the
backend.
 Users will be notified via sms or email if their accounts are suspended by the admin

2.2.6.3 Manage payments

 The admin will be able to view the payments for each trip.
 There will be a split payment between the admin and the driver. The percentage will be
calculated automatically by the system.
 20% will be given to the admin and 80% will be given to the driver
 Admin can change this percentage from the back-end

2.2.6.4 View reviews and ratings

 The admin will have the ability to view the customer and driver’s reviews and ratings
submitted on the app.
 The admin will be able to remove any reviews and ratings on the app.

2.2.6.5 Manage cancellations

 The admin will have the ability to manage the cancellations and refunds if applicable on
the app.
 User will fill-in a feedback form in order to report or process the refund.
 In this form, customer will provide the trip id, and the reason for refund

2.2.7 Development technology

 PHP-CodeIgniter
 MySQL
 JavaScript
 HTML5
2.2.8 Browser compatibility

 The site will be made compatible with the following browsers:


o Internet Explorer -IE11
o Firefox – Version 40 and above (current version: 47)
o Chrome- Version 40 and above (current version: 52)
o Safari – Version 5 and above
 Mobile Version
o Android
 Mobile portrait (320x480)
 Mobile landscape (480x320)
 Small tablet portrait (600x800)
 Small tablet landscape (800x600)
 Tablet portrait (768x1024)
o iPhone SE, 6S,6S+, 7, 7+

You might also like