Start a project
Service desk app

Work Order System

A service desk for a company that installs and maintains equipment at its clients' sites. Requests come in from client contacts or the office, pass from the office to a technician, and close only when the client confirms the work from a link in an email. Scheduled maintenance, rented devices, licences and trainings are tracked per client in the same system.

Office staff take incoming requests, technicians take orders and record the work, and administrators manage clients, devices and accounts. A report screen filters every order by word, type, client, technician and date range, and prints the result.

ForCompanies that install and service equipment at client sites
StaffTake requests, assign technicians, record the work
ClientsSend requests and confirm finished work
Orders

Every open order by status

Open orders sit in one list, split by where each one stands: new, waiting for a technician, in progress, waiting for the client's confirmation, and confirmed. Each tab shows its count, and orders that have waited two days or more for the client are flagged.

  • Search by order number, client, device or description, and filter by type, client and technician
  • "My orders" narrows the list to the ones the user has taken
  • Urgent orders carry a priority flag
Handover

From request to technician

Each order passes the same steps: received, taken by the office, taken by a technician, sent for confirmation and confirmed, each with its time and the person who did it. The technician records the work done, spare parts, arrival and departure, hours on site, and the vehicle used with its mileage.

  • Service, installation or training, numbered in sequence with the year
  • Planned jobs wait on their own list and get a number when they become an order, notes included
  • An order can be archived only once its work record is complete
  • Orders print as the company's paper form, and a blank form is available for jobs written up by hand
Confirmation

The client signs off

Sending an order for confirmation emails the client's contact a link to the finished order, with the work, parts and hours, and tells accounting to invoice it. The link opens without a login and stops working once the order is confirmed. When a client confirms by phone instead, staff confirm on their behalf, and the order records who did.

  • Client contacts have their own login to send requests and see orders awaiting their confirmation
  • Every email the system sends to clients is edited in the admin
Maintenance

Service visits

Scheduled maintenance is recorded per visit, not per device. One report lists every device at the client's site, and the technician records each serviced device's condition and what was done to it. Saving moves each serviced device's next planned service to a year after the visit.

  • Devices due for service filter by date and postal area, for planning a route
  • A device found on site is added to the client's list from the report
  • A visit can be linked to the work order that prompted it
Rentals

Rented devices

Each rented device gets a monthly reading: its usage, consumables, any servicing, and that month's prices. The readings build a history per device.

Clients

One record per client

A client's page gathers its work orders, service visits, devices, licences, trainings and user accounts, each on its own tab. Licences for interactive boards and displays carry their issue and expiry dates, and a training lists its attendees, who receive the materials in one email.

How it's built
Backend
Yii 2, PHP, MySQL, Yii RBAC, SwiftMailer
Interface
Server-rendered PHP views, Bootstrap, jQuery, Select2, Redactor
Integrations
Google Maps