Need estimate for following:
This will likely require some project interaction during the course of development.
please provide estimated timeline, hours, total cost.
use following functions on ios/android/laptop/windows phone devices:
camera hardware: take picture, scan barcode, get gps location.
optional: phone widget that pings gps and updates DB every X interval (configured from admin page) as employee tracker.
Reporting/Tracking: employee can punch in/out. prompt for what task type. pick from list OR enter job name. presume employee is doing that action until next punchout or changetask action. (possibly from a different device, so session data must be stored server side/in DB)
if employee has assigned tasks (for pick from list clients who have existing records) (select records with "dispatched BOOL true") then allow to check off or "mark complete, incomplete, or in progress" a particular task for a jobsite. if not complete or in progress require a notes field be entered. each task should allow for multiple time entries by different employees, and any employee should be able to add a note to any job task.
once all entries for a site that were tagged as dispatched are clear, then allow log out of site.
for all notes, records, time entries, etc: record GPS location, or (if GPS not available with high presicion (city based, ip based, or browser on desktop ip) prompt to enter site - drop down: At Jobsite(only show if punched in to a job) ,Enter Current Location, Pick from Active Jobs.
allow employee to see all tasks by all jobs.
all pages - filter function
task code(s) (allow multiple, checkboxes)
allow for dispatch function:
by class (company division A or company division B))
by region (city, zip, locationcode)(select which)
select priority level or task type
list jobsites, by priority, for matches to above criteria
do routing: get current GPS location or prompt to input address.
use google or internal API to solve routing order.
allow employee to "add a stop" (input address or pick from (vendors, suppliers, jobsites))
(if pick from allow filter to within X miles of me AND always order by distance from current location.)
insert selected location to route list (order by least driving time)
show updated route list.
option to change/override route order.
once route is "accepted"
add all sites in route list to employee log as "schedule for visit" on date (today)
log to all sites selected as "dispatched" on (date)
when employee completes a task mark a bool true "completed as schedule" on both employee and jobsite record.
if employee punches into first site for day, prompt for odometer reading.
if employee punches different sites for day, prompt for odometer reading at each new stop.
option on main page: punch in/out for day:
punch in for day: do punch in to (select or gps detect site), show all tasks at site, show any assigned or already dispatched to employee at top of list.
punch out for day: get odometer reading,
store in employee daily time records:
filter by/ sort by any field. customize on per-employee basis in admin page what data is stored, what data is employee viewable.
time entries by date.
all sites visited today: total hours
all sites today: total mileage
total time on site
by site:duration of each task code at site.
by site: mileage to - mileage between first stop and second stop is charged to second stop.
this is a rough outline, subject to some refinement. first step will be identifying and creating the appropriate database tables, columns, reltaionships, and a decision flowchart of the interface logic to be implemented.